我正在尝试获取代表 4月23日的datetime
实例,但如果传递的参数为'3.4'
,则始终获取 3月4日,设置dayfirst=False
没用:
In [115]: from dateutil import parser
In [116]: parser.parse('4-23', ) #√
Out[116]: datetime.datetime(2014, 4, 23, 0, 0)
In [117]: parser.parse('4/23', ) #√
Out[117]: datetime.datetime(2014, 4, 23, 0, 0)
In [118]: parser.parse('4.23', ) #×
Out[118]: datetime.datetime(2014, 3, 4, 0, 0)
In [120]: parser.parse('4.23', dayfirst=False) #×
Out[120]: datetime.datetime(2014, 3, 4, 0, 0)
是parser
的错误吗?
答案 0 :(得分:0)
简单的答案是,通过parse方法不支持点字符作为时间单位之间的分隔符,因为它在ISO格式表示的时间字符串的上下文中使用。
请尝试将所有点转换为斜杠(/)或heifens( - )
parser.parse('4.23'.replace('.','/'))
解决此问题