2014-05-01 3 views
1

Я пытаюсь узнать, как долго пользователь был создан, проверив User.date_joined и сравнив его с datetime.datetime.now. Теперь все работает, когда я преобразовал свой datetime.datetime.now с помощью функции, затем вызывая User.date_joined как d1 и datetime.datetime.now() как d2. Я получал не превращенные данные остается: .364000Зная, как долго пользователь был зарегистрирован в django

def days_between(d1, d2): 
    d1 = datetime.strptime(d1, "%Y-%m-%d") 
    d2 = datetime.strptime(d2, "%Y-%m-%d") 
    return abs((d2 - d1).days) 
+0

'd1' и' d2' должны быть строками. Не могли бы вы показать, какие значения передаются, когда вы видите ошибку? – alecxe

+0

Да, они are.date_difference = days_between (str (query_user.date_joined), str (datetime.datetime.now())) return HttpResponse (date_difference) –

ответ

0

Вам не нужно преобразовать даты в строку, используя str, а затем обратно в DateTimes с помощью strptime():

date_difference = (datetime.datetime.now() - query_user.date_joined).days 

Также обратите внимание, что вы не нужно abs, поскольку дата присоединения будет всегда меньше, чем сейчас.

+0

все еще не работал. –

+0

@ Temi'Topsy'Bello Я тестировал его на объектах datetime - он работает для меня. Вы получаете какие-либо ошибки? – alecxe

Смежные вопросы