2009-11-24 91 views
4

我正在使用:datetime.now()獲取當前時間在事件應用程序,它可以讓你創建一個具有結束日期的事件,然後所有的事件都顯示在日曆中,如果由於顯示爲紅色,因此事件會通過。Django,日期時間和時區

我的問題是,我有一些用戶在不同的時區比我說的事件是在錯誤的時間結束。他們應該在他們到期的那天午夜結束。

我在我的django settings.py中設置了時區。當我使用:datetime.now()是否會跳出用戶本地時區,或者它會跳出我在django中設置的時區?

我想要的是爲用戶當前的時區找到午夜,所以如果我上面的方法是錯誤的,我該如何去做呢?

謝謝

回答

0

嘗試存儲UTC日期時間,而不是然後根據用戶的時區進行必要的調整:

import datetime 

def getUtcNow(): 
    return datetime.datetime(*time.gmtime()[:6]) 
0

我在圖書館工作與用戶時區透明地工作。您應該只使用Field和一些時區使用情況,並且每次執行請求或查詢時都應該將所有內容都轉換爲用戶時區。

這個庫被命名爲django-timezones,是一個修改的那個Brosner first made

試試看看它是否適合你。