1

我对 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)
4

2 回答 2

3

因为您使用%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)
于 2012-12-24T12:01:03.617 回答
1

它是%j您的格式,来自文档

以十进制数表示的一年中的日期 [001,366]。

一年中的第 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)
于 2012-12-24T12:01:14.143 回答