Найти - Пользователи
Полная версия: Возраст из datetime
Начало » Python для новичков » Возраст из datetime
1
offline
Хочется узнать возраст человека.

date = datetime.datetime.now()
birthday = datetime.datetime(1981, 3, 16)
сделать просто date - birtday и получить datetime.timedelta объект не очень помогает, так как с него можно вытащить только количество дней, глупо потом их будет делить на 365, ведь не во всех годах 365 дней.. Задача я думаю довольно распростронённая, надеюсь у кого нибудь уже есть готовый код.
offline
Написал кое какую функцию

from datetime import date

def get_age(birthday):
today = date.today()
age = today.year - birthday.year
if today.month < birthday.month:
age -= 1
elif today.month == birthday.month and today.day < birthday.day:
age -= 1
return age
bialix
во втором сравнении уместно использоват elif.

И эта… а где unittest или хотя бы doctest?
offline
bialix, упс.. там и был elif, просто когда дебагил над ним хотелось поставить assert False, а синтаксис не позволял, пришлось переименовать на if а обратно вернуть забыл..

Эмм.. А зачем док или юниттесты? И тем более сюда, на форум.
bialix
offline
Эмм.. А зачем док или юниттесты? И тем более сюда, на форум.
:-)

Для полноты картины. Удобная функция получилась для определения полных лет. Удобно для всяких сайтов знакомств. Доктест здесь весьма красив и добавить себя любимого в копирайты. А уж потом ее растащат на цитаты…

:-)

Шутка юмора.
offline
Честно говоря не знаю какой сюда доктест можно присобачить, так как date.today() меняется постоянно.. Если придумаешь, напиши, может я вдохновлюсь этой идеей и начну ко всем своим функциям писать доктесты ))
Александр Кошелев
offline
Честно говоря не знаю какой сюда доктест можно присобачить, так как date.today() меняется постоянно.. Если придумаешь, напиши, может я вдохновлюсь этой идеей и начну ко всем своим функциям писать доктесты ))
Ты её шаблонизируй. Чтобы она интервал между двумя датами выводила (а today параметр по умолчанию), тогда и тестить можно.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB