我有一个字符串s
,可以采用两种可能的时间格式:
timeShortFmt = "%Y-%m-%d"
timeLongFmt = "%Y-%m-%d %H:%M"
如果没有提前知道它具有哪种格式,我如何安全地解析s
?我确信这是一种聪明的pythonic方式(可能不止一个)。我只能提出冗长而繁琐的解决方案。
答案 0 :(得分:1)
fmt = time_fmt_long if " " in input_string else time_fmt_short
dt = datetime.strptime(input_string, fmt)
答案 1 :(得分:1)
使用dateutil library parser。它处理模糊的日期解析。
>>> from dateutil import parser
>>> parser.parse("2010-10-10")
datetime.datetime(2010, 10, 10, 0, 0)
>>> parser.parse("2010-10-10 13:40")
datetime.datetime(2010, 10, 10, 13, 40)