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

时间:2014-05-08 09:25:42

标签: python django datetime

我有以下字符串

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对象。

1 个答案:

答案 0 :(得分:0)

您没有使用correct formatting(错误中非常清楚)。例如,,之后的%a在您的字符串中不存在%d%B(每月的某一天作为零填充的十进制数。)而不是{{ 1}}(月份作为语言环境的全名)。尝试:

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