Блокнот разработчика
Правильный способ получения возраста по дате рождения
В ходе работы над одним небольшим проектом потребовалось реализовать такую штуку, как отображения текущего возраста зарегистрированного пользователя. В модели профиля, пользователь, понятное дело, оставляет дату рождения. А моё умное приложение на основании этой информации должно все сделать самостоятельно. В итоге получилась такой вот метод:
-
@property
-
def age(self):
-
today = date.today()
-
years = today.year – self.birth_date.year
-
if all((x >= y) for x, y in zip(today.timetuple(), self.birth_date.timetuple())):
-
age = years
-
else:
-
age = years – 1
-
return age
Не исключено, что этот код можно еще немного улучшить. Если есть идеи — пишите, советуйте. Буду только рад.
- 04 Янв 14:06
