Python中pytz時區(qū)使用設(shè)置實現(xiàn)
? 一、Python代碼實現(xiàn):時區(qū)轉(zhuǎn)換與時間比較
import pytz
from datetime import datetime
# 1. 獲取當(dāng)前UTC時間
utc_now = datetime.now(pytz.utc)
# 2. 轉(zhuǎn)換為目標(biāo)時區(qū)(示例:上海和紐約)
shanghai_tz = pytz.timezone('Asia/Shanghai')
newyork_tz = pytz.timezone('America/New_York')
shanghai_time = utc_now.astimezone(shanghai_tz)
newyork_time = utc_now.astimezone(newyork_tz)
# 3. 比較兩個時區(qū)的時間
time_diff = shanghai_time - newyork_time
is_same_day = shanghai_time.date() == newyork_time.date()
print(f"UTC時間: {utc_now.strftime('%Y-%m-%d %H:%M:%S %Z')}")
print(f"上海時間: {shanghai_time.strftime('%Y-%m-%d %H:%M:%S %Z')}")
print(f"紐約時間: {newyork_time.strftime('%Y-%m-%d %H:%M:%S %Z')}")
print(f"時間差: {abs(time_diff.total_seconds()/3600):.1f}小時")
print(f"是否同一天: {'是' if is_same_day else '否'}")
輸出示例:
UTC時間: 2025-06-26 07:30:00 UTC
上海時間: 2025-06-26 15:30:00 CST
紐約時間: 2025-06-26 03:30:00 EDT
時間差: 12.0小時
是否同一天: 是
?? 二、pytz時區(qū)參數(shù)表格(常用時區(qū))
下表列出高頻使用的時區(qū)(完整列表包含563個時區(qū),需通過pytz.all_timezones獲?。?/p>
| 大洲 | 時區(qū)標(biāo)識 | 代表城市/地區(qū) | UTC偏移示例 |
|---|---|---|---|
| 亞洲 | Asia/Shanghai | 中國上海 | UTC+8 |
| Asia/Tokyo | 日本東京 | UTC+9 | |
| Asia/Dubai | 阿聯(lián)酋迪拜 | UTC+4 | |
| 美洲 | America/New_York | 美國紐約 | UTC-4 (夏令時) |
| America/Los_Angeles | 美國洛杉磯 | UTC-7 (夏令時) | |
| America/Sao_Paulo | 巴西圣保羅 | UTC-3 | |
| 歐洲 | Europe/London | 英國倫敦 | UTC+1 (夏令時) |
| Europe/Paris | 法國巴黎 | UTC+2 (夏令時) | |
| Europe/Moscow | 俄羅斯莫斯科 | UTC+3 | |
| 大洋洲 | Australia/Sydney | 澳大利亞悉尼 | UTC+10 |
| Pacific/Auckland | 新西蘭奧克蘭 | UTC+12 | |
| 非洲 | Africa/Cairo | 埃及開羅 | UTC+2 |
| Africa/Johannesburg | 南非約翰內(nèi)斯堡 | UTC+2 | |
| 極地 | Antarctica/McMurdo | 南極麥克默多站 | UTC+12 |
| 通用 | UTC | 協(xié)調(diào)世界時 | UTC±0 |
?? 三、擴展說明
獲取全部時區(qū)列表:
import pytz
print("總時區(qū)數(shù)量:", len(pytz.all_timezones)) # 輸出563
for tz in pytz.common_timezones: # 常用時區(qū)(約403個)
print(tz)
關(guān)鍵注意事項:
- 夏令時影響:時區(qū)偏移量會隨夏令時變化(如紐約夏季為UTC-4,冬季為UTC-5)
- 時區(qū)命名規(guī)范:
大洲/城市格式(避免使用EST/CST等縮寫,因其不唯一) - 數(shù)據(jù)庫更新:通過
pip install --upgrade pytz更新時區(qū)規(guī)則
時區(qū)比較場景示例:
# 檢查兩個時區(qū)是否均為星期一
def is_both_monday(tz1: str, tz2: str) -> bool:
tz1_time = datetime.now(pytz.timezone(tz1))
tz2_time = datetime.now(pytz.timezone(tz2))
return tz1_time.weekday() == 0 and tz2_time.weekday() == 0 # 0=周一
print(is_both_monday("Asia/Shanghai", "Europe/London")) # 根據(jù)當(dāng)前日期返回布爾值
到此這篇關(guān)于Python中pytz時區(qū)使用設(shè)置實現(xiàn)的文章就介紹到這了,更多相關(guān)Python pytz時區(qū)使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pandas數(shù)據(jù)分組統(tǒng)計的實現(xiàn)示例
對數(shù)據(jù)進行分組統(tǒng)計,主要適用DataFrame對象的groupby()函數(shù),本文就來詳細的介紹下Pandas數(shù)據(jù)分組統(tǒng)計的實現(xiàn),具有一定的參考價值,感興趣的可以了解下2023-11-11
淺談python函數(shù)調(diào)用返回兩個或多個變量的方法
今天小編就為大家分享一篇淺談python函數(shù)調(diào)用返回兩個或多個變量的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
Linux安裝Pytorch1.8GPU(CUDA11.1)的實現(xiàn)
這篇文章主要介紹了Linux安裝Pytorch1.8GPU(CUDA11.1)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
Win10 GPU運算環(huán)境搭建(CUDA10.0+Cudnn 7.6.5+pytroch1.2+tensorflow1.
熟悉深度學(xué)習(xí)的人都知道,深度學(xué)習(xí)是需要訓(xùn)練的,本文主要介紹了Win10 GPU運算環(huán)境搭建,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09

