2017-05-31 70 views
0

我把2个日期定义为一个字符串。如果我想知道,原来的日期格式,我想这样的比较吧:用python比较不同格式的两个日期

import time 
date1 = "1/1/2013 12:00:00 AM" # formatted like "%m/%d/%Y %H:%M:%S %p" 
date2 = "1/1/2016"    # formatted like "%m/%d/%Y" 
format1 = "%m/%d/%Y %H:%M:%S %p" 
format2 = "%m/%d/%Y" 
if time.strptime(date1, format1) > time.strptime(date2, format2): 
    pass 

我如何比较,如果我不知道的日期格式?

+0

你能做的最好的就是尝试各种格式,看看是否成功。您可以通过事先检查字符串来选择要先尝试哪些候选格式(并且不打扰那些不可能工作的格式),从而加快这一过程。 – martineau

+0

谢谢我写了我自己的解决方案,用try - except块。 –

回答

1

你可以试着用dateutil.parser.parse来解析它。此方法以支持的格式之一解析字符串。然后比较它。

datautil是第三方模块。

+0

这正是我正在寻找的! –

2

如果我不知道日期格式,该如何比较?

你不行。 每个比较都假定你知道你在比较什么。