Проверить date_join пользователя с определенной датой и временем

я новичок в python и django. я хочу проверить user.date_join с определенной датой и временем, но я не знаю, что такое правильный синтаксис.

для получения дополнительной информации: у меня есть функция входа в view.py, и я хочу проверить if user.date_join < yyyy/mm/dd я что-то делаю.

вид.py:

from datetime import datetime
from django.contrib.auth.models import User

if request.method == "POST":
    if request.user.is_authenticated:
        if user.date_joined < (yyyy/mm/dd):  # <==== here i have problem
                       #do smt
        else:
           #do smt
    else:
      #blah blah
else:
   #blah blah
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
267
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Попробуй это.

Предполагая, что user.date_joined уже является объектом Datetime Вы можете выполнить сравнение в объектах DateTime. Преобразуйте свой формат (гггг/мм/дд) в объект Datetime и выполните сравнение

import datetime

// Let's say you need to check if user is joined 8 days back or more

if user.date_joined < datetime.datetime.now()- datetime.timedelta(days=7):
    // your logic

in your case:

if user.date_joined < datetime.datetime('%Y/%d/%m')
    // your logic


Ответ принят как подходящий

Сравнивать даты или объекты дат в Python очень просто. Базовые операторы сравнения (==, !=, <>, >, <, >=, <=) перегружены для объекта datetime, поэтому сравнение дат очень интуитивно понятно и быстро.

попробуй это

if user.date_joined.date() < datetime.datetime('%Y/%d/%m'):
   #

tnx для ответа. когда я использую это условие, я получаю сообщение об ошибке: TypeError: an integer is required (got type str) затем я меняю его на if user.date_joined.date() < datetime.datetime(2019,10,10) и появляется эта ошибка TypeError: can't compare datetime.datetime to datetime.date

mehdi 09.04.2019 11:21

Я немного изменил его, и теперь он работает. я импортирую date вместо timedate и использую это условие: if user.date_joined.date() < date(2019,10,10) . это работает сейчас.tnxxxxxxxxxxx

mehdi 09.04.2019 11:24

Другие вопросы по теме