<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在我們日常生活中,時間概念常伴我們左右。讓我們簡單的回憶一下自己的一天,大致有以下時間點:
假設,同事突然問你Moscow城市,現在幾點了啦。這時候我們要經過時區的換算的一系列麻煩的過程
有沒有更快的方法計算出指定時區的時間?----答案肯定有
在學習Python過程中,我們已經瞭解了一些關於時間操作的庫,如:
關於Python時間操作內建庫,大家可以存取往期內容。本期,我們來重點學習一下pytz模組的使用方法,Let's go~~
pytz 模組是依賴Olson tz資料庫匯入的,它支援直接使用時區名進行時間計算
pytz 模組涉及時區,因此其也指定tzinfo資訊(詳情可見datetime.tzinfo)
pytz 模組通常與datetime模組結合一起使用,返回具體的時間名
pytz 模組可以解決夏令時結束時不明確的問題
重要說明:
pytz 模組支援大多數的時區計算,使用IANA的資料介面,CLDR(Unicode 語言環境)專案提供翻譯
本地還需要按照依賴是時區對映表tzdata資料庫(pip install tzdata)
國家/城市程式碼對映表,pytz庫中儲存在_CountryTimezoneDict()
字典中
我們可以通過 pytz.country_timezones常數來獲取code,timezon
<pytz._CountryTimezoneDict object at 0x00000256FBE52E30>
由於pytz是第三方庫,因此我們在使用前需要使用pip進行下載其依賴庫
pip install pytz
程式碼中使用時,我們需要使用import來進行匯入
# 方式一:匯入整個模組 import pytz # 方式二:匯入具體的庫 from pytz import timezone
pytz 模組包含國家碼查詢、時區名等方法
建立在地化時間:
方式一:pytz.timezone(tzname).localise()
tz = pytz.timezone('US/Eastern') local_time =tz.localize(datetime.datetime(2022, 6, 13,23, 0, 0)) print(local_time)
方式二:local_time.astimezone(tzname)
ast = local_time.astimezone(tz)
方式三:tz.normzlize()處理夏令時
nor = tz.normzlize(datetime.datetime(2022, 6, 13,23, 0, 0))
時區名獲取:
根據pytz模組相關方法,我們可以寫一個函數來實現場景:
實現思路,大致如下:
import pytz from datetime import datetime def timezon_city_gmt(city): timezons = sum(list(pytz.country_timezones.values()),[]) cityList = [city.split("/")[1] for city in timezons] city_index = cityList.index(city) tz = pytz.timezone(timezons[city_index]) gmt = "GMT" + str(datetime.now().astimezone(tz))[-6:] return gmt print(timezon_city_gmt("Simferopol")) --- GMT+03:00 ---
同理,我們日常生活中根據當地時間,算出對方所在時區的當地時間,思路與上述大致一樣。
datetime.strptime()將時間字串轉化成datetime物件
import pytz from datetime import datetime def update_datetime_tz(olddatetime, city, formate): timezons = sum(list(pytz.country_timezones.values()), []) cityList = [city.split("/")[1] for city in timezons] city_index = cityList.index(city) tz = pytz.timezone(timezons[city_index]) datetime_type = datetime.strptime(olddatetime, formate) newdatetime = datetime_type.astimezone(tz) return newdatetime.strftime(str(formate)) print(update_datetime_tz("2022-06-13 12:46:03","Moscow","%Y-%m-%d %H:%M:%S")) --- 2022-06-13 07:46:03 ---
本期我們對時間操作的pytz模組進行基本的瞭解和學習。pytz模組可以幫助我們快速進行時區計算出時間,pytz模組具有tzinfo特性。
到此這篇關於Python時間操作之pytz模組使用詳解的文章就介紹到這了,更多相關Python pytz模組內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45