Python的UTC時間轉(zhuǎn)換講解
UTC時間轉(zhuǎn)換,最終得到的都是UTC時間。
簡單來說就是:
時間戳(timestamp) 轉(zhuǎn)換-> UTC顯示時間(datetime),使用time.gmtime(timestamp)。
顯示時間(datetime) 轉(zhuǎn)換-> UTC時間戳(timestamp),使用calendar.timegm(datetime.timetuple())。
注意:
VC下相應(yīng)的接口是gmtime和_mkgmtime。
代碼:
# -*- coding: gb2312 -*-
# UTC時間轉(zhuǎn)換,最終得到的都是UTC時間:
# 時間戳(timestamp) 轉(zhuǎn)換-> UTC顯示時間(datetime)
# 顯示時間(datetime) 轉(zhuǎn)換-> UTC時間戳(timestamp)
# UTC,協(xié)調(diào)世界時,又稱世界統(tǒng)一時間,可以認為是時區(qū)為0的時間。
import time
import datetime
import calendar
aDatetime = datetime.datetime(1970, 1, 1, 0, 0, 1)
aTimestamp = 1
# 獲取時區(qū)時差
print "time.timezone: " , time.timezone
# 根據(jù)自定義時間,獲取顯示時間(datetime)。
print "datetime: ", aDatetime
print "timetuple: ", aDatetime.timetuple()
print "time.strptime: ", time.strptime("1970-1-1 0:1:1", "%Y-%m-%d %H:%M:%S")
# 根據(jù)時間戳(timestamp),獲取UTC顯示時間(datetime)。即:時間戳(timestamp) 轉(zhuǎn)換-> 顯示時間(datetime)。
print "time.gmtime: timestamp(%s)->datetime(%s)" % (aTimestamp, time.gmtime(aTimestamp))
print "datetime.datetime.utcfromtimestamp: timestamp(%s)->datetime(%s)" % (aTimestamp, datetime.datetime.utcfromtimestamp(aTimestamp))
# 根據(jù)顯示時間(datetime),獲取UTC時間戳(timestamp)。即:顯示時間(datetime) 轉(zhuǎn)換-> 時間戳(timestamp)。
print "calendar.timegm: datetime(%s)->timestamp(%s)" % (aDatetime.timetuple(), calendar.timegm(aDatetime.timetuple()))
dt = time.gmtime(aTimestamp - time.timezone) # time.mktime轉(zhuǎn)換時間是帶時區(qū)的,所以需要減掉時區(qū)時差
print "time.mktime: datetime(%s)->timestamp(%s)" % (dt, time.mktime(dt))
輸出:
time.timezone: -28800
datetime: 1970-01-01 00:00:01
timetuple: time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=1, tm_wday=3, tm_yday=1, tm_isdst=-1)
time.strptime: time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=1, tm_sec=1, tm_wday=3, tm_yday=1, tm_isdst=-1)
time.gmtime: timestamp(1)->datetime(time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=1, tm_wday=3, tm_yday=1, tm_isdst=0))
datetime.datetime.utcfromtimestamp: timestamp(1)->datetime(1970-01-01 00:00:01)
calendar.timegm: datetime(time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=1, tm_wday=3, tm_yday=1, tm_isdst=-1))->timestamp(1)
time.mktime: datetime(time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=1, tm_wday=3, tm_yday=1, tm_isdst=0))->timestamp(1.0)
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
Tensorflow 模型轉(zhuǎn)換 .pb convert to .lite實例
今天小編就為大家分享一篇Tensorflow 模型轉(zhuǎn)換 .pb convert to .lite實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
在Linux下使用Python的matplotlib繪制數(shù)據(jù)圖的教程
這篇文章主要介紹了在Linux下使用Python的matplotlib繪制數(shù)據(jù)圖的教程,matplotlib基于Numpy進行科學(xué)計算上的延伸,需要的朋友可以參考下2015-06-06
Windows下的Python 3.6.1的下載與安裝圖文詳解(適合32位和64位)
這篇文章主要介紹了Windows下的Python 3.6.1的下載與安裝圖文詳解(適合32位和64位),需要的朋友可以參考下2018-02-02
Python使用Selenium抓取動態(tài)網(wǎng)頁的方法步驟
在如今的網(wǎng)絡(luò)中,許多網(wǎng)站是“動態(tài)”的,即網(wǎng)頁內(nèi)容不是靜態(tài)的 HTML 文件,而是由 JavaScript 動態(tài)生成的,這種動態(tài)網(wǎng)頁在數(shù)據(jù)抓取中帶來了一些挑戰(zhàn),在本教程中,我們將詳細介紹如何使用 Python 抓取動態(tài)網(wǎng)頁,需要的朋友可以參考下2024-11-11
Python通過Django實現(xiàn)用戶注冊和郵箱驗證功能代碼
這篇文章主要介紹了Python通過Django實現(xiàn)用戶注冊和郵箱驗證功能代碼,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12

