datetime.strptime与本地时区
问题描述:
我有一个数据帧的UTC时间列时间,我想在本地时间转换它。我做了这样的代码:datetime.strptime与本地时区
from_zone = tz.tzutc()
to_zone = tz.tzlocal()
# utc = datetime.utcnow()
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')
utc = utc.replace(tzinfo=from_zone)
# Convert time zone
central = utc.astimezone(to_zone)
然后我把它保存在一个字符串中的文本文件中。 因此字符串具有以下格式:
2011-01-21 02:37:21 + 02:00
然后我加载另一个程序的文本文件,我想将它转换成与本地时区的datetime格式
所以我试图用datetime.strptime()
与%Z
参数:
datetime.strptime(central,'%Y-%m-%d %H:%M:%S.%f Paris, Madrid')
Paris, Madrid
是命令datetime.tzname(central)
给了我什么。 它不工作,我没有找到任何关于如何使用%Z
的解释。
如果您有任何解释,请帮助我。
答
datetime.strptime()
函数与此有点不同。
第一个参数是带有时间信息的字符串,第二个参数是某种类型的格式,允许函数将字符串转换为日期时间对象。
'.%f Paris, Madrid'
正在使函数认为这些词出现在字符串中,因此格式和字符串不匹配时会出现错误。
正确的代码是:
datetime.strptime(central,'%Y-%m-%d %H:%M:%S%z')