【发布时间】:2017-01-06 09:17:38
【问题描述】:
我正在尝试将字符串解析为这种格式的日期:%Y%m%d%H%M%S 通过此代码:
from dateutil.parser import parse as parseDate
from datetime import datetime, time, timedelta
chaine = "01/10/201604:45:00"
print chaine
date = chaine[:10] + " " + chaine[11:]
print date
date = parseDate(date,yearfirst=True)
print date
i = str(date).replace('-','')
print i
i = str(i).replace(':','')
print i
i = str(i).replace(' ','')
print i
这是我得到的输出:
01/10/201604:45:00
01/10/2016 4:45:00
2016-01-10 04:45:00
20160110 04:45:00
20160110 044500
20160110044500
在这里,我不是将 01 作为日,将 10 作为月,而是将 01 作为月,将 10 作为日,这意味着我得到了一月而不是十月。
另一方面,当我将 chaine 更改为:14/11/201615:30:00 时,我得到了正确的日期:20161114053000:月份然后日期。
我在这里错过了什么吗?
【问题讨论】:
-
@hiroprotagonist: dateutil.readthedocs.io/en/stable/parser.html
-
@MartijnPieters:好的,谢谢。还是觉得问题中应该导入标准库中没有的东西……
-
@hiroprotagonist:我同意,重命名的功能也没有帮助。 dateutil 项目在这种解析方面非常受欢迎,这是我知道它的唯一原因。
标签: python date datetime-parsing