2012-04-03 44 views
1

我正在python中使用datetime對象。我有一個功能,需要一段時間,發現時間和現在的不同。時區感知與時區天真python

def function(past_time): 
    now = datetime.now() 
    diff = now - past_time 

當我將它傳遞給這個函數初始化我爲它天真的日期時間初始化之前past_time。現在也是一個日期時間天真的對象。然而,當我嘗試調用這個函數時,我得到這個錯誤:不能減去偏移量天真和偏移量感知的日期時間。如果他們都是理論上日期時間天真的對象,這是怎麼回事?

任何幫助,將不勝感激。謝謝!

+0

我想也許這個鏈接可以幫助嗎? http://stackoverflow.com/questions/5259882/subtract-two-times-in-python「使用'combine'來構建一個日期時間,可以扣除。」 – George 2012-04-03 18:35:45

回答

5

日期時間沒有做任何跨時區計算,因爲它是一個複雜的,涉及的主題。

我建議普遍轉換日期UTC和執行這些數學。

我最近完成使用時區在大蟒蛇/ Django項目一期工程和調查後,去與內部轉換一切UTC,只有在顯示器轉換到用戶。

您應該查看pytz以完成UTC的轉換,並將Olson代碼存儲在您的應用中需要的時區 - 可能與每個用戶相關聯,或適合您的程序。

+0

好偉大。這就說得通了。我是django的新成員,並且使用datetime對象......你能指點我更多關於做這些轉換的信息嗎?謝謝! – 2012-04-03 19:07:07

+0

爲pytz添加了一個筆記,這是我使用的。 – nOw2 2012-04-03 21:47:10

+0

您是否可以使用這些信息做你想做的事?如果是這樣,你可以點擊接受答案?謝謝! – nOw2 2012-04-11 12:29:18

相關問題