使用Python库解析日期" ParseDateTime"

时间:2015-10-24 19:27:02

标签: python python-2.7 date datetime time

大家好, 我正在使用图书馆" ParseDateTime"将日期作为字符串转换为类型日期。

E.g: 10月4日=' 2015-10-04 00:00:00'

我试试这个:

    import parsedatetime as pdt

    c = pdt.Constants()
    p = pdt.Calendar(c)
    f = '%Y-%m-%d %H:%M:%S'

    data_format = p.parseDT(date_time)
    print data_format[0].strftime(f) 

此代码有效,但奇怪的是我看到2016而不是2015年。

所以我看到了这个: ' 2016 -10-04 00:00:00'

由于

1 个答案:

答案 0 :(得分:1)

要解析"Oct 4",您可以使用datetime.strptime()

>>> from datetime import datetime
>>> datetime.strptime("Oct 4", "%b %d")
datetime.datetime(1900, 10, 4, 0, 0)
>>> d = datetime.strptime("Oct 4", "%b %d")
>>> datetime(datetime.now().year, d.month, d.day)
datetime.datetime(2015, 10, 4, 0, 0)

如果你想要过去的日期;传递" 1月1日"作为源时间的相应年份(默认为当前时间" 10月25日和#34;):

>>> from datetime import datetime
>>> import parsedatetime as pdt # $ pip install parsedatetime
>>> cal = pdt.Calendar()
>>> cal.parseDT("Oct 4") # today is Oct 25
(datetime.datetime(2016, 10, 4, 14, 19, 9), 1)
>>> cal.parseDT("Oct 4", datetime(2015, 1, 1))
(datetime.datetime(2015, 10, 4, 0, 0), 1)