在GAE上使用时区时,Python中将字符串转换为日期时间时发生异常?

1 投票
1 回答
739 浏览
提问于 2025-04-16 10:10

我遇到了这个异常

time data did not match format:  data=19:51:06 Jan 17, 2011 PST  fmt=%H:%M:%S %b %d, %Y %Z

是在下面的代码中出现的

datetime.strptime(parameters['19:51:06 Jan 17, 2011 PST'], "%H:%M:%S %b %d, %Y %Z")

这段代码是在谷歌应用引擎上运行的Python代码。

我该怎么修改格式化器才能让它正常工作呢?

1 个回答

0

可以去看看Python的文档,特别是关于datetime.strptime的部分[1]。文档里提到它内部使用了time.strptime,所以我们也可以去看看那部分[2]。

对于%Z这个指令的支持,主要是看tzname里面的值,以及是否是夏令时。因此,这个支持是和平台相关的,除了UTC和GMT这两个时间区,它们总是被认可的(并且被认为是不使用夏令时的时区)。

你还可以去了解一下非常棒的pytz库[3]。

[1] http://docs.python.org/library/datetime.html#datetime.datetime.strptime

[2] http://docs.python.org/library/time.html#time.strptime

[3] http://pytz.sourceforge.net/

撰写回答