2012-06-09 71 views
0

我已將DateTimeField添加到我的課程中。如果start_date已經達到,我想返回True。但是我的實現只適用於日期部分。 例子:DatetimeField和現在/今天的日期和時間值的比較

Startdate = 2012-06-08 18:00:00 
currentdate 2012-06-08 19:00:00 returns False 
currentdate 2012-06-09 00:00:00 returns True 

from django.utils.datetime_safe import datetime 

class Game(models.Model): 
    start_date = models.DateTimeField('date and time game is started') 

    def is_started(self): 
     return self.start_date <= datetime.today() 

所以我的問題是:我怎麼能比較日期和我場的時間價值和當前的日期和時間?

+0

我已經使用了由django default settings.py模板提供的時區。那是美國/芝加哥。我已將其更改爲當地時區,現在可以使用。 –

回答

2

嘗試使用datetime.now()而不是datetime.today()

class Game(models.Model): 
    start_date = models.DateTimeField('date and time game is started') 

    def is_started(self): 
     return self.start_date <= datetime.now() 
+0

對不起,但是datetime.now()不工作。我已將數據庫中的時間更改爲今天耗盡的值,並對其進行檢查。 –

+0

它似乎不是一個Python代碼的問題。似乎datetime.now()返回錯誤的時間。所以我必須研究如何告訴python使用服務器時間 –

0

如果我們談論方便的存儲時間在我看來,在整數的ctime好多店時間。用整數你可以執行所有你需要的數學運算而不會頭疼。

import time 
time.time()