У меня есть программа, которая выглядит примерно так:
import dateutil.parser
user_date = input("Enter a time or date: ")
#exception handler code goes here
date = dateutil.parser.parse(user_date)
print(date)
Проблема в том, что если пользователь вводит "10:35:15", код будет печатать что-то вроде datetime.datetime(2020, 4, 16, 10, 35, 15)
. Это не то, что мне нужно, поскольку мне нужно добавить на этот раз к текущему времени, чтобы получить смещение времени и / или даты, введенных пользователем, от текущего времени. Это означает, что код будет выглядеть примерно так:
import dateutil.parser
user_date = input("How long 'till I should do a thing? ")
date = dateutil.parser.parse(user_date)
time_when_thing_needs_to_be_done = datetime.datetime.now() + date
#code to do something when datetime.datetime.now() >= time_when_thing_needs_to_be_done
Что я пробовал
Использование аргумента default
для dateutil.parser.parse
: нельзя указывать дату с годом, месяцем и днем как 0
Передача объекта time
, как указано выше default
аргумент: недопустимый аргумент
Как я могу позволить генерировать объект времени или даты-времени, чтобы код работал независимо от того, вводит ли пользователь время или время и дату?
Заранее спасибо.