【发布时间】:2019-05-27 14:28:09
【问题描述】:
当我解析日期时,我使用parser.parse 方法自动识别原始文本中的各种语法。当我有一些像“10/2018”这样的字符串时,我的问题就出现了,没有天数信息。默认情况下,解析器在该月的最后一天(此处为 30 日)返回一个日期时间对象;我想更改此行为,以便它返回该月的第一天(例如: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)]
谢谢,
【问题讨论】:
-
十月的最后一天是31号吧?
-
@thebjorn 是的,确实,这很奇怪。 2 月份它是正确的(28 岁),但其他人都 30 岁......这可能值得提出一个新问题!
-
想通了(dateutil.readthedocs.io/en/stable/_modules/dateutil/parser/… 中的第一行代码)。它给你第 30 天,因为今天是第 30 天...
标签: python regex datetime parsing