【问题标题】:date from string to datetime.date in python [duplicate]python中从字符串到datetime.date的日期[重复]
【发布时间】:2013-10-28 10:21:00
【问题描述】:

这可以做更多pythonic吗?

>>> import datetime
>>> date = '20131018'
>>> date
'20131018'
>>> year, month, day = date[0:4], date[4:6], date[6:]
>>> datetime.date(int(year), int(month), int(day))
datetime.date(2013, 10, 18)

谢谢

【问题讨论】:

    标签: python date datetime


    【解决方案1】:

    Python 已经内置了从 datetime 包中的字符串解析日期的方法,即datetime.datetime.strptime

    >>> from datetime import datetime as dt
    >>> date = '20131018'
    >>> dt.strptime(date, "%Y%m%d").date()
    datetime.date(2013, 10, 18)
    

    请参阅the docs 了解所有可用的格式/解析选项。

    【讨论】:

    • strptime 返回datetime,而不是您的示例所示的date。您需要在新创建的日期时间调用date()dt.strptime(date, "%Y%m%d").date()
    • @StevenRumbalski - 有效点 - 我已经更新了我的答案。谢谢!
    猜你喜欢
    • 2011-12-19
    • 2011-08-27
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 2018-05-14
    • 2019-08-26
    • 2022-01-16
    • 1970-01-01
    相关资源
    最近更新 更多