Найти дату достижения определенного возраста в секундах - PullRequest
0 голосов
/ 25 мая 2019

Я пытаюсь написать программу, которая

  1. занимает определенное количество секунд (скажем, 1000000000), затем

  2. принимает заданную дату (например, день рождения) и

  3. затем определяет, когда (на данную дату) был достигнут этот возраст в секундах.

Конечно, программа должна распознавать, если этот возраст в секундах был в прошлом. Но даже перед созданием проверки для этого кода возникают проблемы.

После получения сообщения об ошибке я попытался изменить имя параметра с месяца на месяц на этапе ввода. Это не принесло никакой разницы.

from datetime import datetime

seconds = int(input("seconds: "))

year = int(input("year: "))
month = int(input("month: "))
day = int(input("day: "))

#Calculate time in seconds between now and the day of birth
date = (datetime(year=year, month=month, day=day) - datetime(seconds)).total_seconds()

print("You will be {} seconds old on {} old.".format(seconds, date))

Я все еще увлекаюсь библиотекой datetime.

Я получил ошибку типа от python3.

"Ошибка типа: обязательный аргумент 'месяц' (позиция 2) не найден"

Edit:

Следуя предложениям в комментариях, я изменил код для использования нового метода, чтобы преобразовать дату в секунды.

from datetime import datetime

#seconds = int(input("seconds: "))
seconds = 1000000000

#year = int(input("year: "))
#month = int(input("month: "))
#day = int(input("day: "))
year = 1987
month = 9
day = 11

date = datetime.datetime(year,month,day)

#Calculate time in seconds between now and the day of birth
(date.total_seconds(datetime(year=year, month=month, day=day)) - seconds)

print("You will be {} seconds old on {} old.".format(seconds, date))

Это приводит к AttributeError: тип объекта «datetime.datetime» не имеет атрибута «datetime»

Я знаю, что точно не знаю, как использовать библиотеку datetime. Работая с документами, чтобы понять.

Но все же эти вещи кажутся тривиальными для достижения. Возможно, кто-то может объяснить.

Цель, как и прежде, состоит в том, чтобы занять несколько секунд и дату рождения. И посмотреть, когда с даты рождения будет достигнуто количество секунд.

1 Ответ

0 голосов
/ 26 мая 2019
AttributeError: type object 'datetime.datetime' has no attribute 'datetime'

Вы получаете вышеуказанную ошибку, потому что вы уже использовали дату и время импорта.Нет необходимости писать datetime.datetime.Вы можете напрямую использовать datetime (год, месяц, день).

...