Два разных типа сравнения даты, Python 3.6 - PullRequest
0 голосов
/ 04 марта 2019

Я хочу сравнить ниже двух дат,

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

Type: pandas._libs.tslibs.timestamps.Timestamp

публикации, дату получения от API, Ressult:

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'

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Это честная ошибка.

Похоже, вы пытаетесь сравнить похожие вещи, но это не так.Один - это 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)

это должно работать!

надеюсь, это поможет!

0 голосов
/ 04 марта 2019

Используйте to_pydatetime () , чтобы преобразовать метку времени в python datetime

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...