【问题标题】:String date to date object in python [duplicate]python中的字符串日期到日期对象[重复]
【发布时间】:2011-12-19 01:17:15
【问题描述】:

可能重复:
Parsing Dates and Times from Strings using python

我正在读一个字符串

"2011-06-11"

如何将其转换为 date 对象?

谢谢

【问题讨论】:

标签: python


【解决方案1】:

如果您知道它将采用该格式,您可以使用strptime function

datetime.datetime.strptime(s, "%Y-%m-%d").date()

(它不是演员表,你实际上是从字符串中创建一个新日期)

如果你不知道日期的格式,建议看the dateutil模块,它提供了强大的日期解析功能。

【讨论】:

  • 我知道,但它是一个不带类参数的静态方法,所以它的调用方式与非成员函数相同。我认为将其称为函数更容易。 (从技术上讲,有一个在幕后工作的实际 Python 函数。)
【解决方案2】:
In [105]: import datetime as dt

这会解析字符串并返回一个dt.datetime 对象:

In [106]: dt.datetime.strptime('2011-06-11',"%Y-%m-%d")
Out[106]: datetime.datetime(2011, 6, 11, 0, 0)

这会返回一个dt.date 对象:

In [108]: dt.datetime.strptime('2011-06-11',"%Y-%m-%d").date()
Out[108]: datetime.date(2011, 6, 11)

strptime方法记录在here,格式字符串"%Y-%m-%d"here进行解释。

【讨论】:

    【解决方案3】:

    这样做:

    import datetime
    
    date = datetime.datetime.strptime('2011-06-11', '%Y-%m-%d')
    

    【讨论】:

      【解决方案4】:
      datetime.datetime.strptime("2011-06-11", "%Y-%m-%d")
      

      还可以查看How to parse an ISO 8601-formatted date?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-17
        • 2016-10-07
        • 2017-01-10
        • 1970-01-01
        • 2023-03-17
        • 1970-01-01
        • 1970-01-01
        • 2011-10-25
        相关资源
        最近更新 更多