2012-09-10 66 views
2

基於此代碼,我如何獲得給定日期的UTC偏移量(以秒爲單位)。 Get UTC offset from time zone name in pythonPython - 以秒爲單位獲取UTC偏移量

目前,我有這樣的代碼:

Python 2.7.3 (default, Jul 3 2012, 19:58:39) 
[GCC 4.7.1] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pytz 
>>> import datetime 
>>> offset = datetime.datetime.now(pytz.timezone('US/Pacific')).strftime('%z') 
>>> offset 
'-0700' 
>>> int(offset)*3600 
-2520000 
>>> int(offset)*360 
-252000 
>>> 

例如,美國/太平洋有時是-800小時(可能是軍用時間:d),但我需要它是在幾秒鐘內,例如:-25200 。

我只是乘以360?聽起來不正確,但誰知道。

TIA

回答

9
>>> import datetime, pytz 
>>> melbourne = pytz.timezone("Australia/Melbourne") 
>>> melbourne.utcoffset(datetime.datetime.now()) 
datetime.timedelta(0, 36000) 

>>> pacific = pytz.timezone("US/Pacific") 
>>> pacific.utcoffset(datetime.datetime.now()) 
datetime.timedelta(-1, 61200) 
>>> -1*86400+61200 
-25200 
>>> pacific.utcoffset(datetime.datetime.now()).total_seconds() 
-25200.0 
+1

不會'.total_seconds()'這裏幫助? :-) –

+0

@MartijnPieters,是的,尤其是如果偏移量的秒數小數:) –

+0

Ach,調用'int()'並且完成它; timedeltas可以處理毫秒,'.total_seconds()'反映了這一點。 :-P –

相關問題