Python 使用dateutil.parser解析不完整日期时,如何将日期设置为1?
当我使用Python 使用dateutil.parser解析不完整日期时,如何将日期设置为1?,python,python-2.7,date,python-dateutil,Python,Python 2.7,Date,Python Dateutil,当我使用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,
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
。您可以传递默认值
关键字参数。如果指定了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
根据:
默认值
–默认日期时间对象,如果这是日期时间对象
而不是None
,则在timestr
中指定的元素将替换
默认对象
今天天气好吗?@JasonHeine这是一个很好的观察结果,我没想到。但是我不能只在每个月的第一天运行我的处理:-)有没有办法只定义当天的默认值?我的期望是这个案例
parse(“2014年4月”)35; 2014-01-01 00:00:00
@vildhjarta,对不起,我不知道怎么走。