ValueError时间数据与格式不匹配

2024-10-02 18:18:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在strtime函数中用空字符串匹配时区。但是,我得到了以下错误

ValueError: time data 'Thu Apr 14 01:46:29 MDT 2016' does not match format '%a %b %d %H:%M:%S   %Y'

这是我尝试的代码

import datetime

d = datetime.datetime.strptime('Thu Apr 14 01:46:29 MDT 2016', '%a %b %d %H:%M:%S   %Y')

如何在python中映射时区? 时区可以是MDT、MST等


Tags: 函数字符串formatdatadatetimetimematch错误
1条回答
网友
1楼 · 发布于 2024-10-02 18:18:23

要解析此特定格式(类似于电子邮件中使用的rfc 822),可以使用email包:

from email.utils import parsedate_tz, mktime_tz

time_tuple = parsedate_tz('Thu Apr 14 01:46:29 MDT 2016')
posix_time = mktime_tz(time_tuple)

注:此处MDT为-6小时(according to the rfc 822)。一般来说,时区为abbreviations may be ambiguous

在Python 3.3+上,您可以直接创建时区感知日期时间:

from email.utils import parsedate_to_datetime

dt = parsedate_to_datetime('Thu Apr 14 01:46:29 MDT 2016')

这是how to parse it on earlier Python versions

相关问题 更多 >