亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python中生成Epoch的方法

系統 1998 0

在Python2中datetime對象沒有timestamp方法,不能很方便的生成epoch,現有方法沒有處理很容易導致錯誤。關于Epoch可以參見時區與Epoch

0 Python中生成Epoch

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

1 錯誤代碼

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

2 原因

Python中的datetime對象分為帶時區信息和不帶時區信息的兩種對象即naive和aware對象。在處理naive時,一切皆默認為系統時區,沒有任何問題。

在Python3中執行timestamp時對于naive對象,按照默認時區處理(調用time.mktime),而aware對象,則帶上時區計算與UTC基準時間的間隔秒數得到,也就是將時區信息考慮在內。

而Python2和3中的timetuple方法,返回的結果沒有包含時區信息,也沒有進行時區轉換。即調用timetuple對于aware日期對象而言,時區信息被丟棄,因此再調用time.mktime將得到一個錯誤的結果

3 解決辦法

1、方法一: 將其他時區的aware日期,轉換為當前系統默認的時區的aware對象, 由于與系統時區一致,因此該aware對象與無時區的naive對象執行timetuple的效果一樣。

轉換時區參見timezone,即調用astimezone方法,參數為轉換后的時區(tzinfo實例)

由于Python2中缺失tzinfo(抽象基類)的各個時區實例,需要自己構造時區對象。
時區實例可以參考官方文檔的實現datetime或使用推薦的第三方庫pytz

2、方法二: 計算時間差

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

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


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲综合欧美 | 国产深夜福利视频在线观看 | 国产一国产一级毛片视频 | 成人淫片免费视频95视频 | se94se欧美| 久久久免费观看视频 | 四虎影视最新网址 | 99r在线 | 亚洲一级毛片免费在线观看 | 精品国产91在线网 | 草的爽免费视频 | 俄罗斯一级毛片aaaa | 99精品一区二区免费视频 | 中文字幕 国产精品 | 亚洲高清视频免费 | 亚洲高清一区二区三区久久 | 亚洲日本中文字幕在线 | 老头老太做爰xxxx视频 | 久久不卡 | 久久久久久综合对白国产 | 精品欧美日韩一区二区三区 | 99爱网站| 久久国产亚洲高清观看5388 | 亚洲精品国产第一区二区多人 | 成人欧美视频 | 精品精品国产自在久久高清 | 亚洲国产精品综合久久 | 99精品国产兔费观看66 | 能免费看黄的网站 | 久草综合在线视频 | 国产精品66 | 四房婷婷在线视频播放 | 久久亚洲国产视频 | 四虎最新网址在线观看 | 天天干b| 成人国产一区二区三区精品 | 91在线高清 | 欧美不卡在线观看 | 欧美日韩免费做爰视频 | 中日韩欧美在线观看 | 特大毛片 |