编程语言
首页 > 编程语言> > python datetime strptime与格式不匹配

python datetime strptime与格式不匹配

作者:互联网

这是我要运行的代码

from datetime import datetime

date="08/30/2017 10:02 pm (PDT)"

dt = datetime.strptime(date, '%m/%d/%Y %I:%M %p (%Z)')

日期是具有值的字符串08/30/2017 10:02 PM(PDT)

对我来说看起来很好,但是python给我这个错误:

time data '08/30/2017 10:02 PM (PDT)' does not match format '%m/%d/%Y %I:%M %p (%Z)' 

该代码在使用python 2.7的远程计算机上运行.但是,如果我手动将这些代码键入本地python终端.它工作得很好.

有什么可以改变的吗?
(我试图在unicode / str之间更改日期,没有区别)

解决方法:

检查TZ环境变量的值. time.strptime使用TZ变量来消除时区缩写的歧义,因为否则它们将不是唯一的.我可以使用TZ = Europe / Berlin重现匹配错误,但是使用TZ = America / Tijuana可以成功解析.

如果另一台机器具有仅使用数字时区的TZ数据,则可能会出现差异,这是某些时区的最新变化(2017年)(这也意味着工作该机器的机器可悲)过时的时区数据库).

标签:python-datetime,python
来源: https://codeday.me/bug/20191108/2008463.html