[英]How can I compare 3 dates using Django?
我想比較 3 個日期以了解講座是否開始。 為此,我創建了 3 個屬性,即 Lecture_start_date、lecture_finish_date 和當前日期。 但是當我比較它們時,我得到一個錯誤,比如strptime() 參數 1 必須是 str,而不是 DeferredAttribute,但我的 Lecture.l_date 也是字符串。
這是我的工作
def about(request,pk_test):
classes = Classroom.objects.get(classroom_name=pk_test)
department = Department.objects.all()
ads= Ads.objects.all()
student=Student.objects.all()
lectures = Lecture.objects.all()
mydate = datetime.today()
lecture_start_date = datetime.strptime(Lecture.l_date, '%Y-%m-%`enter code here`d %H:%M:%S')
lecture_finish_date = datetime.strptime(Lecture.l_date_end, '%Y-%m-%d %H:%M:%S')
if mydate > lecture_start_date and mydate < lecture_finish_date :
print("The lecture has been started.")
總之,我想根據我的當地時間找到講座是否開始。 為了找到我的本地時間,我使用了 mydate = datetime.today() 並且我有講座開始時間以及來自我的數據庫的講座和時間。 我該如何比較這些?
您需要注意調用Lecture.l_date
,如果這是您數據庫中的一列,您應該從特定記錄中獲取值,而不是作為 class 屬性獲取。
如果您想從 class 中獲取 l_date,我建議您將 class 方法添加到 Lecture 中,以便能夠獲得您想要比較的值。
您可以通過添加到 model 中來實現此目的:
@classmethod
def get_l_date(cls):
# Do the calculations you need to do
return calculated_date
datetime.strptime
- 需要一個字符串作為調用的第一個參數,這不是你現在傳遞的,如果你使用我之前建議的方法,你甚至不需要這個調用來轉換為日期時間,並且能夠做你正在尋找的比較。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.