Проверка возраста Python - PullRequest
       5

Проверка возраста Python

0 голосов
/ 06 ноября 2011

В моем сценарии соединения вам должно быть 13+, чтобы присоединиться. Проблема в том, что, когда я проверяю его на определенные даты, он работает, только если я делаю это месяц назад.

    cur_time = datetime.datetime.utcnow() - datetime.timedelta(days=4848.12)
    time_13 = str(cur_time.strftime("%Y-%m-%d"))
    bmonth = self.get_argument('bmonth', '')
    bday = self.get_argument('bday', '')
    byear = self.get_argument('byear', '')
    birthday = byear + '-' + bmonth + '-' + bday
    if time_13 <= birthday:
        c_age = True
    else:
        c_age = ''
    if c_age:
        response = tornado.escape.json_encode({"error":"true","msg":"You must be 13 years of age or older to join uSocial'N"})

1 Ответ

4 голосов
/ 06 ноября 2011

Лучше сравнивать даты и диапазоны дат, а не строки.

При условии, что вы получите строки для деталей дня рождения:

bmonth = self.get_argument('bmonth', '')
bday = self.get_argument('bday', '')
byear = self.get_argument('byear', '')

bd = datetime.datetime(int(byear), int(bmonth), int(bday))
min_age = datetime.timedelta(weeks = 52*13)
if datetime.datetime.now() - bd < min_age:
    response = tornado.escape.json_encode({"error":"true", "msg":
                     "You must be 13 years of age or older to join uSocial'N"})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...