Python datetime.strTime月说明符不';好像不行

Python datetime.strTime月说明符不';好像不行,python,datetime,python-3.x,Python,Datetime,Python 3.x,月份格式说明符似乎不起作用 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

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

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__过滤器查询没有返回任何结果(输入的日期无效!)而拔出的头发之外,我还缺少什么呢?我试过
03
05
都没用

事物、平台、架构等的版本:

$ 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
不是“一年中的某一天”解析器吗?它可能会强制
strtime
选择1月21日,覆盖
%m
规则?

您不能将
%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)

%j
指定一年中的某一天。一年中的第10天,即1月10日,不可能发生在3月份,因此您的月份规范被忽略。垃圾进来,垃圾出去。

谢谢。我想我已经在屏幕前坐了很久了@Ninefingers:很高兴我能提供帮助:)那么如何从使用以下格式的字符串中提取日期:
4/14/11 14:23