簡體   English   中英

兩種不同類型的日期比較,Python 3.6

[英]Two different type date compare, Python 3.6

我想比較以下兩個日期,

publicationDate contains Timestamp('2018-05-25 00:00:00')

Type: pandas._libs.tslibs.timestamps.Timestamp

從API Ressult獲取的publicationDate:

publicationDate = pd.to_datetime(Json_Data_1['publicationDate'])

datetime.date.today() returns datetime.date(2019, 3, 4)

Type: datetime.date


if 'W' in Frequency:
    while(publicationDate < datetime.date.today()):
        publicationDate = publicationDate + relativedelta(weeks=+1)

錯誤:

TypeError: Cannot compare type 'Timestamp' with type 'date'

使用to_pydatetime()可以將時間戳轉換為python datetime

那是一個誠實的錯誤。

看來您正在嘗試比較類似的事物,但事實並非如此。 一個是包含時間信息的TS,另一個是僅包含日期信息的數據對象。

datetime.date.today() returns datetime.date(2019, 3, 4)

如果將代碼更改為:

if 'W' in Frequency:
    while(publicationDate < pd.to_datetime(datetime.date.today())):
        publicationDate = publicationDate + relativedelta(weeks=+1)

或者:

if 'W' in Frequency:
    while(publicationDate.date() < datetime.date.today()):
        publicationDate = publicationDate + relativedelta(weeks=+1)

它應該工作!

希望能幫助到你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM