将字符串转换为包含区域名称的有效日期时间对象



我有以下字符串

date = "Thu May 08 2014 12:06:43 GMT+0300 (EEST)"

如何使用stptime将其转换为有效的python datetime对象?

我做了这个

datePy = datetime.strptime(date, "%a, %d %b %Y %H:%M:%S (%Z)")

但是不起作用。回溯

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/_strptime.py", line 325, in _strptime
    (data_string, format))
ValueError: time data 'Thu May 08 2014 12:06:43 GMT+0300 (EEST)' does not match format '%a, %d %b %Y %H:%M:%S (%Z)'

对于一些背景细节,我从javascript Date.toString()函数中获得日期字符串,将其发送到我的django后端,并希望将其转换为幼稚的python datetime对象。

您没有使用正确的格式(从错误中可以很清楚地看出)。例如,在字符串中不存在的%a后面有一个,,并且%d(作为零填充的十进制数字的月的日期)而不是%B(作为区域设置的全名的月)。试一试:

datePy = datetime.strptime(date, "%a %B %d %Y %H:%M:%S (%Z)")

相关内容

  • 没有找到相关文章

最新更新