当我解析日期时,我使用parser.parse
方法,该方法会自动识别原始文本中的所有语法。当我有一些字符串,例如“ 10/2018”,而没有日期信息时,就会出现我的问题。默认情况下,解析器在一个月的最后一天(此处为30日)返回datetime对象;我想更改此行为,以使其返回月份的第一天(例如:datetime(2018, 10, 1, 0, 0)
)。我该如何实现?
from dateutil import parser
mystring = ["10/2018", "05/10/2018", "Oct, 2018"]
[parser.parse(i) for i in mystring]
#### Out[5] [datetime.datetime(2018, 10, 30, 0, 0), datetime.datetime(2018, 5, 10, 0, 0), datetime.datetime(2018, 10, 30, 0, 0)]
谢谢
答案 0 :(得分:5)
快速浏览文档(https://dateutil.readthedocs.io/en/stable/parser.html)会显示parse()
默认为每月的最后一个,除非提供了默认的datetime对象:
from datetime import datetime
from dateutil import parser
mystring = ["10/2018", "05/10/2018", "Oct, 2018"]
[parser.parse(i, default=datetime(1978, 1, 1, 0, 0)) for i in mystring]
# [datetime.datetime(2018, 10, 1, 0, 0), datetime.datetime(2018, 5, 10, 0, 0), datetime.datetime(2018, 10, 1, 0, 0)]