使用Python格式化日期/时间,格式为2017-05-16T19:00:00.451-0400

时间:2017-09-13 16:49:18

标签: python-3.x date parsing

我跟随表示日期/时间的字符串:

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部分的含义以及是否有更好的方法来解析此字符串。

1 个答案:

答案 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)))