勛茗 發問時間: 電腦與網際網路軟體 · 2 年前

python 比較日期問題?

我有兩個資料,我要判定它們是相同的東西,請問怎麼轉換後在比較?

d1="2018-07-28"

d2=2018-7-28

我希望程式可以判定這兩個時間是一樣的

2 個解答

評分
  • 匿名使用者
    2 年前
    最佳解答

    import datetime

    def isEqual(d1 , d2):

    ....d1 = datetime.datetime.strptime(d1 , '%Y-%m-%d')

    ....d2 = datetime.datetime.strptime(d2 , '%Y-%m-%d')

    ....return d1.date() == d2.date()

    #說明 : 你呼叫isEqual(d1 , d2)之後得到true就是一樣,false就是不一樣

    #PS : 你可以先全部轉成datetime的形式再用date去比較,用這樣寫比較有彈性,假設你今天d2是2018.7.28這種形式你只要改strptime的地方一樣可以正確判斷

    #PS2 : 你也可以這樣寫,把str先轉成int再比較sort過後的兩個list

    def isEqual(d1 , d2):

    ....return sorted([int(i) for i in d1.split('-')]) == sorted([int(i) for i in d2.split('-')])

    參考資料: .... 代表一個indent 覺得有幫助請給最佳解
  • 2 年前

    =IF(D1-D2=0,"Y","N")

還有問題?馬上發問,尋求解答。