2011-06-29 36 views
1

我在美國,我想獲得UTC時間(無夏令時的效果)的一段代碼UTC時間:的Python:如何在給定TIMEZONE

localtime = strftime("%m%d%y%H%M", gmtime()) 

現在是代碼給我在英格蘭格林威治的時間。我知道我有一個時間偏移-8(格林威治標準時間-8)。我如何獲得UTC時間到特定的時區? (使用Python庫,不是將小時轉換爲整數,-8,並將其轉換回)

謝謝。

+4

你的那句「在美國UTC時間」是有點怪。 UTC時間是UTC時間。我認爲你的意思是「我怎樣才能得到UTC時間在美國的某個特定時區的本地時間。 –

+0

Thx for correction :) –

回答

4

嘗試datetime模塊:

datetime.datetime.utcnow() + datetime.timedelta(hours=-8) 

BTW,UTC沒有時區,這是國際協調時間,它到處都是一樣的。

1

支持任何細節級別的時區都取決於應用程序。全球時間調整的規則比理性更具政治性,沒有適合每種應用的標準。

有用於該目的的有用的第三方模塊:http://pytz.sourceforge.net/

3

只需使用本地時間(),而不是gmtime的()函數:

localtime = time.strftime("%m%d%y%H%M", time.localtime()) 

從Python時間模塊: 「像gmtime的(),但轉換爲本地時間。如果秒不提供或無。使用time()返回的當前時間,當DST應用於給定時間時,dst標誌被設置爲1。

要查看是否DST適用:

time.daylight 
相關問題