Как сократить время в datetime.date?

avatar
jehedo7998
8 августа 2021 в 17:29
26
1
0

У меня есть 2 переменные: datetime.date и datetime.datetime

import sqlite3
from datetime import date


@bot.message_handler(commands=['check'])
def start_message(message): 
        cursor = conn.execute("SELECT * from DATA WHERE id = ? ORDER BY DATE ", (message.from_user.id,))
        row = cursor.fetchone() #datetime.datetime
        datee = date.today() #datetime.date
        print(datee - parse(row[2]).date())
        bot.send_message(message.chat.id, row[1])
        bot.send_message(message.chat.id, str(datee - parse(row[2])))

print отображает -1 day, 0:00:00, но мне нужно удалить timestamp. Как мне это сделать?

Источник
Anton van der Wel
8 августа 2021 в 17:41
0

Не могли бы вы предоставить больше информации? В чем проблема? У вас возникла ошибка или вы хотите что-то добавить в код? Каков ваш желаемый результат, не могли бы вы явно написать его?

jehedo7998
8 августа 2021 в 17:45
0

мне нужно отобразить -1 день, сейчас он показывает -1 день 0:00:00 @AntonvanderWel

Anton van der Wel
8 августа 2021 в 17:46
0

если вы хотите вернуть дату -1 день, вы можете сделать: new_date = datee - timedelta(1), импортировав from datetime import datetime, timedelta

Ответы (1)

avatar
spcial
9 августа 2021 в 07:40
0

Если вы хотите напечатать только дни (без часов, минут, секунд), вы можете использовать атрибут .days, например:

print((datee - parse(row[2]).date()).days)

это работает, потому что вы получаете не объект date, а объект datetime.timedelta.