欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中生成Epoch的方法

 更新時(shí)間:2017年04月26日 08:11:23   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇Python中生成Epoch的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

在Python2中datetime對(duì)象沒(méi)有timestamp方法,不能很方便的生成epoch,現(xiàn)有方法沒(méi)有處理很容易導(dǎo)致錯(cuò)誤。關(guān)于Epoch可以參見(jiàn)時(shí)區(qū)與Epoch

0 Python中生成Epoch

from datetime import datetime
# python3
datetime.now().timestamp()
# python2
import time
time.mktime(datetime.now().timetuple()) # 為了兼容python2和3,該用法使用更廣泛

1 錯(cuò)誤代碼

from datetime import datetime
import pytz
aware_date = datetime.utcnow().replace(tzinfo=pytz.utc)
time.mktime(aware_date.timetuple()) # bug here

2 原因

Python中的datetime對(duì)象分為帶時(shí)區(qū)信息和不帶時(shí)區(qū)信息的兩種對(duì)象即naive和aware對(duì)象。在處理naive時(shí),一切皆默認(rèn)為系統(tǒng)時(shí)區(qū),沒(méi)有任何問(wèn)題。

在Python3中執(zhí)行timestamp時(shí)對(duì)于naive對(duì)象,按照默認(rèn)時(shí)區(qū)處理(調(diào)用time.mktime),而aware對(duì)象,則帶上時(shí)區(qū)計(jì)算與UTC基準(zhǔn)時(shí)間的間隔秒數(shù)得到,也就是將時(shí)區(qū)信息考慮在內(nèi)。

而Python2和3中的timetuple方法,返回的結(jié)果沒(méi)有包含時(shí)區(qū)信息,也沒(méi)有進(jìn)行時(shí)區(qū)轉(zhuǎn)換。即調(diào)用timetuple對(duì)于aware日期對(duì)象而言,時(shí)區(qū)信息被丟棄,因此再調(diào)用time.mktime將得到一個(gè)錯(cuò)誤的結(jié)果

3 解決辦法

1、方法一:將其他時(shí)區(qū)的aware日期,轉(zhuǎn)換為當(dāng)前系統(tǒng)默認(rèn)的時(shí)區(qū)的aware對(duì)象, 由于與系統(tǒng)時(shí)區(qū)一致,因此該aware對(duì)象與無(wú)時(shí)區(qū)的naive對(duì)象執(zhí)行timetuple的效果一樣。

轉(zhuǎn)換時(shí)區(qū)參見(jiàn)timezone,即調(diào)用astimezone方法,參數(shù)為轉(zhuǎn)換后的時(shí)區(qū)(tzinfo實(shí)例)

由于Python2中缺失tzinfo(抽象基類(lèi))的各個(gè)時(shí)區(qū)實(shí)例,需要自己構(gòu)造時(shí)區(qū)對(duì)象。
時(shí)區(qū)實(shí)例可以參考官方文檔的實(shí)現(xiàn)datetime或使用推薦的第三方庫(kù)pytz

2、方法二:計(jì)算時(shí)間差

 _EPOCH = datetime(1970, 1, 1, tzinfo=pytz.utc) # 第三方庫(kù) pytz
  (aware_date - _EPOCH).total_seconds()

以上這篇Python中生成Epoch的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實(shí)例分享:快速查找出被掛馬的文件

    Python實(shí)例分享:快速查找出被掛馬的文件

    網(wǎng)站被入侵,擔(dān)心被掛馬,因此就想自己寫(xiě)個(gè)腳本來(lái)查找那些被掛馬的文件
    2014-06-06
  • python 實(shí)現(xiàn)繪制整齊的表格

    python 實(shí)現(xiàn)繪制整齊的表格

    今天小編就為大家分享一篇python 實(shí)現(xiàn)繪制整齊的表格,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • Python實(shí)現(xiàn)獲取亂序列表排序后的新下標(biāo)的示例

    Python實(shí)現(xiàn)獲取亂序列表排序后的新下標(biāo)的示例

    本文主要介紹了Python實(shí)現(xiàn)獲取亂序列表排序后的新下標(biāo)的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Python模擬簡(jiǎn)單電梯調(diào)度算法示例

    Python模擬簡(jiǎn)單電梯調(diào)度算法示例

    這篇文章主要介紹了Python模擬簡(jiǎn)單電梯調(diào)度算法,涉及Python線程、隊(duì)列、時(shí)間延遲等相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • 在Python的一段程序中如何使用多次事件循環(huán)詳解

    在Python的一段程序中如何使用多次事件循環(huán)詳解

    循環(huán)是我們?cè)谌粘i_(kāi)發(fā)中是必不可少會(huì)遇到的,下面這篇文章主要給大家介紹了關(guān)于在Python的一段程序中如何使用多次事件循環(huán)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-09-09
  • Python?Pandas如何獲取和修改任意位置的值(at,iat,loc,iloc)

    Python?Pandas如何獲取和修改任意位置的值(at,iat,loc,iloc)

    在我們對(duì)數(shù)據(jù)進(jìn)行選擇之后,需要對(duì)特定的數(shù)據(jù)進(jìn)行設(shè)置更改,設(shè)置,下面這篇文章主要給大家介紹了關(guān)于Python?Pandas如何獲取和修改任意位置的值(at,iat,loc,iloc)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • 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í)吧
    2019-07-07
  • 在pycharm中python切換解釋器失敗的解決方法

    在pycharm中python切換解釋器失敗的解決方法

    今天小編就為大家分享一篇在pycharm中python切換解釋器失敗的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Python3的介紹、安裝和命令行的認(rèn)識(shí)(推薦)

    Python3的介紹、安裝和命令行的認(rèn)識(shí)(推薦)

    Python是著名的“龜叔”Guido van Rossum在1989年圣誕節(jié)期間,為了打發(fā)無(wú)聊的圣誕節(jié)而編寫(xiě)的一個(gè)編程語(yǔ)言。這篇文章主要介紹了Python3的介紹、安裝和命令行的認(rèn)識(shí),需要的朋友可以參考下
    2018-10-10
  • 利用django-suit模板添加自定義的菜單、頁(yè)面及設(shè)置訪問(wèn)權(quán)限

    利用django-suit模板添加自定義的菜單、頁(yè)面及設(shè)置訪問(wèn)權(quán)限

    這篇文章主要給大家介紹了關(guān)于利用django-suit模板添加自定義的菜單、頁(yè)面及設(shè)置訪問(wèn)權(quán)限的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起看看吧
    2018-07-07

最新評(píng)論