Python datetime.strptime月说明符似乎不起作用

发布于 2021-01-29 15:05:09

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

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
__filter查询为什么什么都不返回(输入的日期无效!)的原因之外,我还缺少什么呢?我已经尝试了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).
关注者
0
被浏览
61
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您不能将它们%j与其他格式的代码混合使用,%m因为如果您在表中查看的话,所链接的%j是十进制数字[001,366],因此该年的10天与该年的10天相对应,因此它是01一月

    所以你只需要写:

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


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看