2017-05-31 74 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

如果我不知道日期格式,該如何比較?

你不行。 每個比較都假定你知道你在比較什麼。