2011-11-30 33 views
0

python完全是新的,我實際上在研究一個前同事的腳本。看着它看起來相當直截了當。情況如下:Python - 試圖獲得不同的時區

該腳本查看當前本地時間(UTC)並呈現基於時間的表格,該表格隨着時間的推移在一天中滾動/更改,因此始終存在滾動的8小時表格。

問題是,現在我們想在CST('America/Chicago')部署這個工具的副本(在同一臺服務器上)(這意味着我需要將UTC時間更改爲CST)米試圖找到一種方法來修改他必須做'current_time'變量== GMT -6。

他用的strftime()來獲得的第一個小時:

current_time = int(strftime("%H")) 
if current_time <19: 
temp_page.write(...) 
elif current_time == 19: 
temp_page.write(...) 

所以 - 從我的PHP知識,我很想能夠做到像:

current_time = int(strftime("%H"), (localtime() -6 hours)) 

(是的,我知道這是不是真正的PHP代碼,但我希望你明白我的意思;-))

在我的[R esearch,我遇到過pytz,但這並沒有安裝在網絡服務器上,儘管如果這是實現它的最好/最簡單的方法,我可能會得到它。

任何幫助是極大的讚賞。

回答

0

您可能可以使用datetime模塊(它是標準庫的一部分,因此如果系統上安裝了標準python,則會安裝它)。

特別是,datetime對象可以有一個可選的tzinfo屬性,用於在時區轉換過程中使用。 Here是一篇博客文章,逐步解釋如何使用這些文章。

+0

感謝Mac,這就是我一直在尋找的!我可能會開始使用pytz,因爲它看起來有些好東西,但我的代碼現在是: 'code' current_time = datetime.now() - timedelta(hours = 6) current_time = int(current_time.strftime(「 H「)) – Tev

+0

@Tev - 'current_hour = current_time.hour'也可以。 – eumiro

+0

謝謝@eumiro - 這更簡單! – Tev

3

是的,嘗試安裝pytz,在使用不同的時區(和UTC)時它會幫助你很多。

import pytz 
from datetime import datetime 

now = datetime.now(pytz.utc) 

now現在datetime.datetime(2011, 11, 30, 14, 26, 30, 628014, tzinfo=<UTC>),你可以用它來計算當前UTC小時,now.hour(返回14):

當前UTC時間(獨立於計算機的時區),可與獲得

+0

我將添加pytz並開始使用它,但爲了快速修復,我使用了datetime示例。非常感謝! – Tev