Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 29, 2008 21:42:15

offline
От:
Зарегистрирован: 2007-04-24
Сообщения: 121
Репутация: +  0  -
Профиль   Отправить e-mail  

Возраст из datetime

Хочется узнать возраст человека.

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



Офлайн

#2 Июнь 29, 2008 23:24:47

offline
От:
Зарегистрирован: 2007-04-24
Сообщения: 121
Репутация: +  0  -
Профиль   Отправить e-mail  

Возраст из datetime

Написал кое какую функцию

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



Отредактировано (Июнь 30, 2008 21:13:51)

Офлайн

#3 Июнь 30, 2008 00:12:02

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Возраст из datetime

во втором сравнении уместно использоват elif.

И эта… а где unittest или хотя бы doctest?



Офлайн

#4 Июнь 30, 2008 06:54:37

offline
От:
Зарегистрирован: 2007-04-24
Сообщения: 121
Репутация: +  0  -
Профиль   Отправить e-mail  

Возраст из datetime

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

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



Офлайн

#5 Июнь 30, 2008 16:22:12

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Возраст из datetime

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

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

:-)

Шутка юмора.



Отредактировано (Июнь 30, 2008 16:22:34)

Офлайн

#6 Июнь 30, 2008 21:12:07

offline
От:
Зарегистрирован: 2007-04-24
Сообщения: 121
Репутация: +  0  -
Профиль   Отправить e-mail  

Возраст из datetime

Честно говоря не знаю какой сюда доктест можно присобачить, так как date.today() меняется постоянно.. Если придумаешь, напиши, может я вдохновлюсь этой идеей и начну ко всем своим функциям писать доктесты ))



Офлайн

#7 Июнь 30, 2008 21:20:11

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Возраст из datetime

offline
Честно говоря не знаю какой сюда доктест можно присобачить, так как date.today() меняется постоянно.. Если придумаешь, напиши, может я вдохновлюсь этой идеей и начну ко всем своим функциям писать доктесты ))
Ты её шаблонизируй. Чтобы она интервал между двумя датами выводила (а today параметр по умолчанию), тогда и тестить можно.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version