Python中pytz時(shí)區(qū)使用設(shè)置實(shí)現(xiàn)
? 一、Python代碼實(shí)現(xiàn):時(shí)區(qū)轉(zhuǎn)換與時(shí)間比較
import pytz
from datetime import datetime
# 1. 獲取當(dāng)前UTC時(shí)間
utc_now = datetime.now(pytz.utc)
# 2. 轉(zhuǎn)換為目標(biāo)時(shí)區(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. 比較兩個(gè)時(shí)區(qū)的時(shí)間
time_diff = shanghai_time - newyork_time
is_same_day = shanghai_time.date() == newyork_time.date()
print(f"UTC時(shí)間: {utc_now.strftime('%Y-%m-%d %H:%M:%S %Z')}")
print(f"上海時(shí)間: {shanghai_time.strftime('%Y-%m-%d %H:%M:%S %Z')}")
print(f"紐約時(shí)間: {newyork_time.strftime('%Y-%m-%d %H:%M:%S %Z')}")
print(f"時(shí)間差: {abs(time_diff.total_seconds()/3600):.1f}小時(shí)")
print(f"是否同一天: {'是' if is_same_day else '否'}")
輸出示例:
UTC時(shí)間: 2025-06-26 07:30:00 UTC
上海時(shí)間: 2025-06-26 15:30:00 CST
紐約時(shí)間: 2025-06-26 03:30:00 EDT
時(shí)間差: 12.0小時(shí)
是否同一天: 是
?? 二、pytz時(shí)區(qū)參數(shù)表格(常用時(shí)區(qū))
下表列出高頻使用的時(shí)區(qū)(完整列表包含563個(gè)時(shí)區(qū),需通過pytz.all_timezones獲?。?/p>
| 大洲 | 時(shí)區(qū)標(biāo)識(shí) | 代表城市/地區(qū) | UTC偏移示例 |
|---|---|---|---|
| 亞洲 | Asia/Shanghai | 中國上海 | UTC+8 |
| Asia/Tokyo | 日本東京 | UTC+9 | |
| Asia/Dubai | 阿聯(lián)酋迪拜 | UTC+4 | |
| 美洲 | America/New_York | 美國紐約 | UTC-4 (夏令時(shí)) |
| America/Los_Angeles | 美國洛杉磯 | UTC-7 (夏令時(shí)) | |
| America/Sao_Paulo | 巴西圣保羅 | UTC-3 | |
| 歐洲 | Europe/London | 英國倫敦 | UTC+1 (夏令時(shí)) |
| Europe/Paris | 法國巴黎 | UTC+2 (夏令時(shí)) | |
| 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)世界時(shí) | UTC±0 |
?? 三、擴(kuò)展說明
獲取全部時(shí)區(qū)列表:
import pytz
print("總時(shí)區(qū)數(shù)量:", len(pytz.all_timezones)) # 輸出563
for tz in pytz.common_timezones: # 常用時(shí)區(qū)(約403個(gè))
print(tz)
關(guān)鍵注意事項(xiàng):
- 夏令時(shí)影響:時(shí)區(qū)偏移量會(huì)隨夏令時(shí)變化(如紐約夏季為UTC-4,冬季為UTC-5)
- 時(shí)區(qū)命名規(guī)范:
大洲/城市格式(避免使用EST/CST等縮寫,因其不唯一) - 數(shù)據(jù)庫更新:通過
pip install --upgrade pytz更新時(shí)區(qū)規(guī)則
時(shí)區(qū)比較場景示例:
# 檢查兩個(gè)時(shí)區(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時(shí)區(qū)使用設(shè)置實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python pytz時(shí)區(qū)使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pandas combine_first函數(shù)處理兩個(gè)數(shù)據(jù)集重疊和缺失
combine_first是pandas中的一個(gè)函數(shù),它可以將兩個(gè)DataFrame對象按照索引進(jìn)行合并,用一個(gè)對象中的非空值填充另一個(gè)對象中的空值,這個(gè)函數(shù)非常適合處理兩個(gè)數(shù)據(jù)集有部分重疊和缺失的情況,可以實(shí)現(xiàn)數(shù)據(jù)的補(bǔ)全和更新,本文介紹combine_first函數(shù)的語法及一些案例應(yīng)用2024-01-01
Python實(shí)現(xiàn)PC屏幕截圖并自動(dòng)發(fā)送郵箱
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)一個(gè)屏幕截圖應(yīng)用程序,可以定時(shí)截取屏幕,并將截圖通過電子郵件發(fā)送給指定的收件人,需要的可以參考下2024-12-12
Python wxPython庫消息對話框MessageDialog用法示例
這篇文章主要介紹了Python wxPython庫消息對話框MessageDialog用法,結(jié)合實(shí)例形式簡單分析了wxPython庫的基本事件與相關(guān)使用技巧,需要的朋友可以參考下2018-09-09
Python實(shí)現(xiàn)刪除windows下的長路徑文件
這篇文章主要為大家詳細(xì)介紹一下如何利用Python語言實(shí)現(xiàn)刪除windows下的長路徑文件功能,文中的示例代碼講解詳細(xì),具有一定參考借鑒價(jià)值,感興趣的可以了解一下2022-07-07
Python腳本實(shí)現(xiàn)下載合并SAE日志
這篇文章主要介紹了Python腳本實(shí)現(xiàn)下載合并SAE日志,本文講解了代碼編寫過程,然后給出了完整代碼,需要的朋友可以參考下2015-02-02
淺談Keras的Sequential與PyTorch的Sequential的區(qū)別
這篇文章主要介紹了淺談Keras的Sequential與PyTorch的Sequential的區(qū)別,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
利用Python實(shí)現(xiàn)Shp格式向GeoJSON的轉(zhuǎn)換方法
JSON(JavaScript Object Nonation)是利用鍵值對+嵌套來表示數(shù)據(jù)的一種格式,以其輕量、易解析的優(yōu)點(diǎn),這篇文章主要介紹了利用Python實(shí)現(xiàn)Shp格式向GeoJSON的轉(zhuǎn)換,需要的朋友可以參考下2019-07-07

