2015-09-03 236 views
0

如何將此代碼從localtime UTC更改爲UTC + 2。現在hours()功能打印13,但我需要寫15。將本地時間從UTC更改爲UTC + 2 python

import time; 


def hours(): 
    localtime = time.localtime(time.time()) 
    return localtime.tm_hour 


def minutes(): 
    localtime = time.localtime(time.time()) 
    return localtime.tm_min 

def seconds(): 
    localtime = time.localtime(time.time())  
    return localtime.tm_sec 


print(hours()) 
    #minutes() 
    #seconds() 
+0

不能加2到返回線路: 回報localtime.tm_hour + 2 – equinox93

+0

而且當來到23小時我會看到25:D – storks

+0

你可以在幾秒鐘內添加2小時time.time(): localtime = time.localtime(time.time()+ 7200) 這不會引起這個問題。 – equinox93

回答

1

如何使用datetime模塊:

import datetime; 

today = datetime.datetime.now() 
todayPlus2Hours = today + datetime.timedelta(hours=2) 

print(todayPlus2Hours) 

print(todayPlus2Hours.hour) 
print(todayPlus2Hours.minute) 
print(todayPlus2Hours.second) 
1

您可以使用pytz連同日期時間模塊。 對於時區參考我看看here。 我會做這樣的事吧。

import datetime 
import pytz 
utc_dt = datetime.datetime.now(tz=pytz.utc) 
amsterdam_tz = pytz.timezone("Europe/Amsterdam") 
local_amsterdam_time = amsterdam_tz.normalize(utc_dt) 
print local_amsterdam_time.hour 
print local_amsterdam_time.minute 
print local_amsterdam_time.second 
+0

你知道替代我的代碼沒有導入新庫 – storks