我有一个如下所示的字符串:'2005-01-03 16:00:00:000 America/New_York',将其转换为datetime实例的最简单方法如下所示:
ts=r'2005-01-03 16:00:00:000 America/New_York'
import re
pos=re.match(r'[\d\- :]*', ts).end()
tzs=ts[pos:]
tss=ts[:pos-5]
from pytz import timezone
tz=timezone(tzs)
from dateutil import parser
dt=parser.parse(tss)
d=tz.localize(dt)
print d
#2005-01-03 16:00:00-05:00这太复杂了我想..。
那么,是否有更简单的方法来实现这一点呢?先发制人~
发布于 2014-03-20 21:04:26
不如:
import datetime
import pytz
ts = '2005-01-03 16:00:00:000 America/New_York'
tPart, tzPart = ts.rsplit(' ', 1)
dt = datetime.datetime.strptime(tPart, "%Y-%m-%d %H:%M:%S:%f")
tz = pytz.timezone(tzPart)
d = tz.localize(dt)https://stackoverflow.com/questions/22539075
复制相似问题