Подтвердить что ты не робот

Сравните только время в datetime - Python

Я хочу сравнить только временную часть в datetime. У меня разные даты, только для сравнения времени. Поскольку даты разные, и только часть времени, которую я хочу рассмотреть, поэтому я думаю, что создание двух объектов datetime не поможет. моя строка как

start="22:00:00"
End="03:00:00"
Tocompare="23:30:00"

Выше строки, когда я конвертирую их с datetime как

dt=datetime.strptime(start,"%H:%M:%S")

он дает

1900-01-01 22:00:00

которая является датой по умолчанию в python. Поэтому мне нужно избегать всего этого и хотеть только часть времени. Мне просто нужно проверить, не падает ли мой Tocompare между start и End

4b9b3361

Ответ 1

Просто вызовите метод .time() для объектов datetime чтобы получить их часы, минуты, секунды и микросекунды.

dt = datetime.strptime(start,"%H:%M:%S").time()

Ответ 2

Сравните свое время с помощью datetime.time().

Ответ 3

import datetime

start = datetime.datetime.strptime(start, '%H:%M:%S')
start = datetime.time(start.hour, start.minute,start.second)

tocompare = datetime.datetime.strptime(tocompare, '%H:%M:%S')
tocompare = datetime.time(tocompare.hour, tocompare.minute, tocompare.second)

start > tocompare # False