说明符似乎不起作用

说明符似乎不起作用

月格式说明符似乎不起作用。

from datetime import datetime
endDate = datetime.strptime('10 3 2011', '%j %m %Y')
print endDate
2011-01-10 00:00:00
endDate = datetime.strptime('21 5 1987', '%j %m %Y')
print endDate
1987-01-21 00:00:00

现在,根据手册:
%m=十进制月数[01,12]。
所以,我遗漏了什么,除了我抽出的头发试图理解为什么我的django\uu过滤器查询什么也不返回(输入的日期无效!)?我试过0305都没用。
事物、平台、架构等的版本:
$ python --version
Python 2.7
$ python3 --version
Python 3.1.2
$ uname -r
2.6.35.11-83.fc14.x86_64 (that's Linux/Fedora 14/64-bit).

最佳答案

您不能将%j与其他格式代码(如%m)混合,因为如果您在表中看到您链接的%j是一年中的某一天,它是十进制数字[001366],所以10对应于一年中的10天,所以它是1月1日…
所以你得写:

>>> datetime.strptime('10 2011', '%j %Y')
datetime.datetime(2011, 1, 10, 0, 0)

否则,如果你想用10作为坐骑日,你应该:
>>> datetime.strptime('10 3 2011', '%d %m %Y')
datetime.datetime(2011, 3, 10, 0, 0)

关于python - Python datetime.strptime月说明符似乎不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5247582/

10-08 20:29