python日期时间对象的Javascript日期字符串
当前日期时间通过ajax请求传递到django后端,并存储在数据库中。要将其存储在数据库中,必须首先将日期转换为python日期时间对象的Javascript日期字符串,javascript,python,django,datetime,Javascript,Python,Django,Datetime,当前日期时间通过ajax请求传递到django后端,并存储在数据库中。要将其存储在数据库中,必须首先将日期转换为datetime对象,该对象可通过以下语句轻松转换为UTC格式的日期(例如Sun,2016年9月4日07:13:06 GMT): >>> from datetime import datetime >>> datetime.strptime("Sun, 04 Sep 2016 07:13:06 GMT", "%a, %d %b %Y %H:%M:%S
datetime
对象,该对象可通过以下语句轻松转换为UTC格式的日期(例如Sun,2016年9月4日07:13:06 GMT
):
>>> from datetime import datetime
>>> datetime.strptime("Sun, 04 Sep 2016 07:13:06 GMT", "%a, %d %b %Y %H:%M:%S %Z")
然而,在这种方法中,没有保留用户的时区
javascriptDate
构造函数调用,即new Date()
以以下格式返回日期:
Sun Sep 04 2016 12:38:43 GMT+0530 (IST)
转换为datetime对象时出现错误
>>> datetime.strptime("Sun, 04 Sep 2016 07:13:06 GMT+0530 (IST)", "%a, %d %b %Y %H:%M:%S %Z")
ValueError: time data 'Sun Sep 04 2016 12:46:07 GMT+0530 (IST)' does not match format '%a, %d %b %Y %H:%M:%S %Z'
1) 如何解决这个问题?
2) 有更好的方法吗?您的第一个问题是输入的格式不同。但不幸的是,这并不是你唯一的问题,即使你解决了这个问题,它也不会起作用 事实是,即使是第一种格式也会因时区不同而失败:
datetime.strptime("Sun, 04 Sep 2016 07:13:06 IST", "%a, %d %b %Y %H:%M:%S %Z")
在以下情况下失败:
ValueError: time data 'Sun, 04 Sep 2016 07:13:06 IST' does not match format '%a, %d %b %Y %H:%M:%S %Z'
strtime
对于处理时区来说还不够好
检查以下答案以了解您的选择:
- 您的第一个问题是输入的格式不同。但不幸的是,这并不是你唯一的问题,即使你解决了这个问题,它也不会起作用
事实是,即使是第一种格式也会因时区不同而失败:
datetime.strptime("Sun, 04 Sep 2016 07:13:06 IST", "%a, %d %b %Y %H:%M:%S %Z")
在以下情况下失败:
ValueError: time data 'Sun, 04 Sep 2016 07:13:06 IST' does not match format '%a, %d %b %Y %H:%M:%S %Z'
strtime
对于处理时区来说还不够好
检查以下答案以了解您的选择:
dateutil
模块解析日期
from dateutil import parser
parser.parse("Sun, 04 Sep 2016 07:13:06 GMT+0530 (IST)")
它以datetime对象的形式提供输出:
datetime.datetime(2016, 9, 4, 7, 13, 6, tzinfo=tzoffset(u'IST', -19800))
您可以使用python的
dateutil
模块来解析日期
from dateutil import parser
parser.parse("Sun, 04 Sep 2016 07:13:06 GMT+0530 (IST)")
它以datetime对象的形式提供输出:
datetime.datetime(2016, 9, 4, 7, 13, 6, tzinfo=tzoffset(u'IST', -19800))