У меня есть запрос о датах питона ... Я бы точно знал дату N_YEARS назад. Итак, я попробовал этот простой код:Знайте точно дату N лет назад
years_count = N_YEARS * 365
today = datetime.datetime.today()
birthday_date = today + datetime.timedelta(days=-years_count)
Но это не правильно. Пример:
Today: 28/05/2015 (DD/MM/YYYY)
N_YEARS: 18
Result: 1997-06-01 (YYYY/MM/DD) **17 Years, 11 Months e 27 Days**
timedelta
функция является правильным, является неточной, чтобы вычислить количество дней таким образом: N_YEARS * 365
Как я могу решить эту проблему?
'N_YEARS * 365' является действительно не правильно. Вы когда-нибудь слышали о високосных годах? –
Год не является точной единицей. У некоторых лет 365 дней, у других 366. – chepner
Это зависит от того, что вы подразумеваете ровно через N лет. Я бы сказал, просто вычтите N лет со дня. 1000 лет делает * не * равным 365000 дней! Больше похоже на 365260, но это намного сложнее. – kratenko