我们需要将一些遗留字符串日期转换为可用于执行某些日期逻辑的实际日期。如果我知道格式是什么,转换为日期对象不是问题!也就是说,有些人写的是'dd month yy',othes'mon d,yyyy'等。
所以,我想知道是否有人知道py模块试图猜测日期格式并以统一的方式重写它们?
还有其他建议吗?
答案 0 :(得分:5)
使用dateutil:
In [25]: import dateutil.parser as parser
In [26]: parser.parse('25 December 2010')
Out[26]: datetime.datetime(2010, 12, 25, 0, 0)
In [27]: parser.parse('Dec 25, 2010')
Out[27]: datetime.datetime(2010, 12, 25, 0, 0)
答案 1 :(得分:0)
典型的方法是定义格式列表(具体为strptime
格式),然后依次尝试,直到有效。例如,请参阅此配方:
http://code.activestate.com/recipes/577135-parse-a-datetime-string-to-a-datetime-instance/
strptime
接受多种格式。如果你能列举出你将会看到的所有可能性,那么你应该能够将这个食谱的变体组合在一起,做出你想做的事。