Python中timezone的部分常用操作

對timzone的操作總是感覺特別的繁雜,經(jīng)過牛人指點,提煉出來幾個比較常用的timezone操作。

import pytz
from datetime import datetime

time_str = "2018-04-20 10:10:05"
time_obj = datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S")  # at this point, time_obj is timezone-naive

time_obj_la = pytz.timezone("America/Los_Angeles").localize(time_obj)  # now time_obj_la is timezone-aware, python automatically add daylight saving time if needed
print(time_obj_la)  # 2018-04-20 10:10:05-07:00

time_obj_utc = time_obj_la.astimezone(pytz.timezone("UTC"))  
print(time_obj_utc)  # 2018-04-20 17:10:05+00:00

# convert datetime object to string, no need to remove timezone info
time_str_utc = time_obj_utc.strftime("%Y-%m-%d %H:%M:%S")  # 2018-04-20 17:10:05
time_str_la = time_obj_la.strftime("%Y-%m-%d %H:%M:%S")  # 2018-04-20 10:10:05

# remove timezone info (make datetime object timezone-naive)
time_utc = time_obj_utc.replace(tzinfo=None)  # datetime.datetime(2018, 4, 20, 17, 10, 5)

python中timezone的代碼并不是跟國際時區(qū)一一對應(yīng),轉(zhuǎn)換的時候需要了解pytz library中的時區(qū)代碼

for tz in pytz.all_timezones:
    print(tz)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容