当我使用dateutil.parser
来解析缺少当天的不完整日期时,由于某种原因,我将日期设置为10
:
from dateutil.parser import parse
>>> d1 = parse('2008 Apr 2')
>>> d1
datetime.datetime(2008, 4, 2, 0, 0)
>>> d2 = parse('2014 Apr')
>>> d2
datetime.datetime(2014, 4, 10, 0, 0)
有没有办法改变这一点,以便将这一天自动设置为1
而不是这类不完整的案例?
答案 0 :(得分:8)
您可以传递default
个关键字参数。如果指定了default
,则解析器将使用已解析的日期替换默认部分:
>>> import datetime
>>> from dateutil.parser import parse
>>>
>>> print parse('2014 Apr', default=datetime.datetime(2015, 1, 1))
2014-04-01 00:00:00
根据dateutil.parser.parse
documentation:
default
- 默认的datetime对象,如果这是一个datetime对象 而不是None
,timestr
中指定的元素替换了d3
中的元素 默认对象。