2012-02-08 90 views
1

一個事件類models.py轉換UTC時間從DateTimeField字段(models.py)本地時間

class Event(models.Model): 
timestamp = models.DateTimeField() 
message = models.TextField() 

    def __unicode__(self): 
    return "'%s' at %s" % (self.message, self.timestamp) 

    def api_detail(self): 
    return { 
     'timestamp': str(self.timestamp), 
     'description': self.message, 

沒有保存在數據庫UTC時間。但我想在本地化時間取回它。例如,時間戳將返回:2012年2月14日,下午7點。。這次是UTC,我想把它改成當地時間。

請幫我看看這個問題:)

+1

重複:http://stackoverflow.com/questions/1745436/how-to-manage-timezones-in-a-web-application – 2012-02-08 07:17:08

回答

3

當地時間哪個時區?該pytz documentation表明,一旦你決定使用哪一個區域,它是那樣簡單:

local_time = zone.localize(timestamp) 

注意,從UTC轉換爲本地時間明確的,而反過來卻不行。

+0

它可以從世界任何地方。沒有這樣的一套來定義它。它不可能,它首先檢查本地時區,並自動更改:) – 2012-02-08 07:22:35

+0

等待你的迴應:) – 2012-02-08 07:36:37

+0

@shardaPAL:我想我已經添加了一條評論,但它似乎丟失了。我沒有真正理解你以前的評論 - 你的意思是你想使用系統運行代碼的本地時區?我無法找到通過pytz獲取的方法,但它可能在某處可用... – 2012-02-08 07:42:56