【发布时间】:2021-02-17 18:46:50
【问题描述】:
我需要用python将一个字符串解析成datetime,例如:
datetime.datetime.strptime('2018-06-29 08:15:27.243860', '%Y-%m-%d %H:%M:%S.%f')
但有时我不知道输入是2018-06-29 08:15:27.243860 还是2018-06-29 08:15:27(没有毫秒)。
如果我尝试过
datetime.datetime.strptime('2018-06-29 08:15:27', '%Y-%m-%d %H:%M:%S.%f')
我遇到了一个异常
ValueError: time data '2018-06-29 08:15:27' does not match format '%Y-%m-%d %H:%M:%S.%f'
有没有办法使用与'2018-06-29 08:15:27.243860' and '2018-06-29 08:15:27'相同的格式?
我不关心毫秒,我想丢弃它们。
【问题讨论】:
-
既然任何匹配你的模式的输入输出都有一个固定的长度,为什么不直接删除任何过多的输入呢?例如
datetime.datetime.strptime('2018-06-29 08:15:27.243860'[:19], '%Y-%m-%d %H:%M:%S').
标签: python datetime datetime-format