我跟随表示日期/时间的字符串:
my_datetime = "2017-05-16T19:00:00.451-0400"
用
datetime.strptime(my_datetime[:19], "%Y-%m-%dT%H:%M:%S")
我得到了
datetime.datetime(2017, 5, 16, 19, 0)
但是,我不明白451-0400
部分的含义以及是否有更好的方法来解析此字符串。
答案 0 :(得分:1)
您有微秒和时区偏移。您可以使用%f
解析第一个,使用%z
解析后者,前提是您使用的是Python 3.2或更新版本:
>>> datetime.strptime(my_datetime, "%Y-%m-%dT%H:%M:%S.%f%z")
datetime.datetime(2017, 5, 16, 19, 0, 0, 451000, tzinfo=datetime.timezone(datetime.timedelta(-1, 72000)))