Python 关于datetime.strtime()

Python 关于datetime.strtime(),python,Python,我对python中的datetime相当陌生,我正在使用python 2.7.3 在python控制台中: >>>import datetime >>>datetime.datetime.strptime("2012-3-12 10:10:10", "%Y-%m-%j %H:%M:%S") 为什么会出现这样的结果 datetime.datetime(2012, 1, 12, 10, 10, 10) 而不是 datetime.datetime(2012, 3

我对python中的datetime相当陌生,我正在使用python 2.7.3

在python控制台中:

>>>import datetime
>>>datetime.datetime.strptime("2012-3-12 10:10:10", "%Y-%m-%j %H:%M:%S")
为什么会出现这样的结果

datetime.datetime(2012, 1, 12, 10, 10, 10)
而不是

datetime.datetime(2012, 3, 12, 10, 10, 10)

因为你使用了
%j
,这是“一年中的一天”,因此它会把你的日期时间弄乱。这有点像试图同时将汽车的方向盘转向两个方向-这是行不通的

您想要的是
%d

>>> datetime.datetime.strptime("2012-03-12 10:10:10", "%Y-%m-%d %H:%M:%S")
datetime.datetime(2012, 3, 12, 10, 10, 10)
>>> datetime.datetime.strptime("2012-03-12 10:10:10", "%Y-%m-%d %H:%M:%S")
datetime.datetime(2012, 3, 12, 10, 10, 10)

因为你使用了
%j
,这是“一年中的一天”,因此它会把你的日期时间弄乱。这有点像试图同时将汽车的方向盘转向两个方向-这是行不通的

您想要的是
%d

>>> datetime.datetime.strptime("2012-03-12 10:10:10", "%Y-%m-%d %H:%M:%S")
datetime.datetime(2012, 3, 12, 10, 10, 10)
>>> datetime.datetime.strptime("2012-03-12 10:10:10", "%Y-%m-%d %H:%M:%S")
datetime.datetime(2012, 3, 12, 10, 10, 10)

这是您格式的
%j
,来自:

以十进制数字表示的一年中的日期[001366]

一年中的第12天是1月12日

改用
%d

>>> datetime.datetime.strptime("2012-03-12 10:10:10", "%Y-%m-%d %H:%M:%S")
datetime.datetime(2012, 3, 12, 10, 10, 10)
>>> datetime.datetime.strptime("2012-03-12 10:10:10", "%Y-%m-%d %H:%M:%S")
datetime.datetime(2012, 3, 12, 10, 10, 10)

这是您格式的
%j
,来自:

以十进制数字表示的一年中的日期[001366]

一年中的第12天是1月12日

改用
%d

>>> datetime.datetime.strptime("2012-03-12 10:10:10", "%Y-%m-%d %H:%M:%S")
datetime.datetime(2012, 3, 12, 10, 10, 10)
>>> datetime.datetime.strptime("2012-03-12 10:10:10", "%Y-%m-%d %H:%M:%S")
datetime.datetime(2012, 3, 12, 10, 10, 10)

谢谢我应该更仔细地阅读python的文档。我应该更仔细地阅读python的文档