亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

pytz格式化北京時(shí)間多出6分鐘問題的解決方法

 更新時(shí)間:2019年06月21日 08:22:54   作者:棲遲于一丘  
這篇文章主要給大家介紹了關(guān)于pytz格式化北京時(shí)間多出6分鐘問題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

起步

在django框架中,用的是 pytz 庫(kù)處理時(shí)區(qū)問題,所以我也嘗試用這個(gè)庫(kù)來(lái)處理。但發(fā)現(xiàn)了一個(gè)奇怪的問題:

import datetime
import pytz

dt = datetime.datetime(2019,6,20, 12, tzinfo=pytz.timezone('Asia/Shanghai'))
print(dt) # 2019-06-20 12:00:00+08:06

為什么多出了 6 分鐘來(lái)?

原因

這是因?yàn)?pytz 里保存是本地時(shí)間。

fmt = '%Y-%m-%d %H:%M:%S %Z%z'
dt = datetime.datetime(2019,6,20, 12, tzinfo=pytz.timezone('Asia/Shanghai'))
print(dt.strftime(fmt)) # 2019-06-20 12:00:00 LMT+0806

LMT 即 Local Mean Time 本地時(shí)間,也就是說(shuō) 'Asia/Shanghai' 這個(gè)地區(qū)比utc多了8小時(shí)零6分鐘,并不是北京時(shí)間。

解決

所以 pytz 提供了 normalize() 方法來(lái)糾正這個(gè)問題,但傳入的得是不帶時(shí)區(qū)的日期對(duì)象:

cn_zone = pytz.timezone('Asia/Shanghai')
dt = cn_zone.localize(dt = datetime.datetime(2019,6,20, 12))
print(dt) # 2019-06-20 12:00:00+08:00
print(dt.strftime(fmt)) # 2019-06-20 12:00:00 CST+0800

# 或者
dt = datetime.datetime(2019,6,20, 12)
print(dt.astimezone(cn_zone)) # 2019-06-20 12:00:00 CST+0800

這里推薦的還是用 astimezone 的方式,django 也是采用這種處理方式。

時(shí)區(qū)轉(zhuǎn)換

以從北京時(shí)間轉(zhuǎn)紐約時(shí)間為例,已知結(jié)果它們之間應(yīng)該相差12小時(shí)。

dt = datetime.datetime(2019,6,20, 12)

print(dt.astimezone(tz=cn_zone)) # 2019-06-20 12:00:00+08:00
print(dt.astimezone(tz=cn_zone).astimezone(ny_zone)) # 2019-06-20 12:00:00-04:56

額外

另一個(gè)解決時(shí)區(qū)問題就是使用標(biāo)準(zhǔn)庫(kù)的 dateutil 工具。官方內(nèi)置,值得信賴。它支持在創(chuàng)建日期對(duì)象的時(shí)候進(jìn)行設(shè)置,更為方便:

cn = tz.gettz('Asia/Shanghai')

aware_dt = datetime.datetime(2019,6,20, 12, tzinfo=cn)
print(aware_dt ) # 2019-06-20 12:00:00+08:00

# 時(shí)區(qū)轉(zhuǎn)換(從北京時(shí)間轉(zhuǎn)到紐約時(shí)間)
ny = tz.gettz('America/New_York')
print(aware_dt.astimezone(tz=ny)) # 2019-06-20 00:00:00-04:00

我更喜歡這種方式。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • Python打印scrapy蜘蛛抓取樹結(jié)構(gòu)的方法

    Python打印scrapy蜘蛛抓取樹結(jié)構(gòu)的方法

    這篇文章主要介紹了Python打印scrapy蜘蛛抓取樹結(jié)構(gòu)的方法,實(shí)例分析了打印scrapy蜘蛛抓取樹結(jié)構(gòu)的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • Python實(shí)現(xiàn)的大數(shù)據(jù)分析操作系統(tǒng)日志功能示例

    Python實(shí)現(xiàn)的大數(shù)據(jù)分析操作系統(tǒng)日志功能示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的大數(shù)據(jù)分析操作系統(tǒng)日志功能,涉及Python大文件切分、讀取、多線程操作等相關(guān)使用技巧,需要的朋友可以參考下
    2019-02-02
  • Python實(shí)現(xiàn)直方圖均衡基本原理解析

    Python實(shí)現(xiàn)直方圖均衡基本原理解析

    這篇文章主要介紹了Python實(shí)現(xiàn)直方圖均衡基本原理,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-08-08
  • Python?yield?關(guān)鍵詞,

    Python?yield?關(guān)鍵詞,

    這篇文章主要介紹了Python?yield?關(guān)鍵詞,要理解yield的作用,你必須理解生成器是什么。在理解生成器之前,必須先理解迭代器。下面文章我們就先從
    迭代器開始展開yield關(guān)鍵詞的相關(guān)自資料 ,需要的朋友可以參考一下
    2021-12-12
  • python跨文件使用全局變量的實(shí)現(xiàn)

    python跨文件使用全局變量的實(shí)現(xiàn)

    這篇文章主要介紹了python跨文件使用全局變量的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 利用Pytorch實(shí)現(xiàn)獲取特征圖的方法詳解

    利用Pytorch實(shí)現(xiàn)獲取特征圖的方法詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Pytorch實(shí)現(xiàn)獲取特征圖,包括提取單個(gè)特征圖和提取多個(gè)特征圖,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2022-10-10
  • Python文件右鍵找不到IDLE打開項(xiàng)解決辦法

    Python文件右鍵找不到IDLE打開項(xiàng)解決辦法

    這篇文章主要介紹了Python文件右鍵找不到IDLE打開項(xiàng)解決辦法,本文使用注冊(cè)表解決了這個(gè)問題,需要的朋友可以參考下
    2015-06-06
  • Pyinstaller 打包發(fā)布經(jīng)驗(yàn)總結(jié)

    Pyinstaller 打包發(fā)布經(jīng)驗(yàn)總結(jié)

    這篇文章主要介紹了Pyinstaller 打包發(fā)布經(jīng)驗(yàn)總結(jié),使用Pyinstaller打包Python項(xiàng)目包含了大量的坑,感興趣的可以一起來(lái)了解一下
    2020-06-06
  • 利用Python的sympy包求解一元三次方程示例

    利用Python的sympy包求解一元三次方程示例

    今天小編就為大家分享一篇利用Python的sympy包求解一元三次方程示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • python字典排序的方法

    python字典排序的方法

    在本篇文章里小編給大家整理的是關(guān)于python字典怎么排序的相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-10-10

最新評(píng)論