Python的UTC時(shí)間轉(zhuǎn)換講解
UTC時(shí)間轉(zhuǎn)換,最終得到的都是UTC時(shí)間。
簡(jiǎn)單來說就是:
時(shí)間戳(timestamp) 轉(zhuǎn)換-> UTC顯示時(shí)間(datetime),使用time.gmtime(timestamp)。
顯示時(shí)間(datetime) 轉(zhuǎn)換-> UTC時(shí)間戳(timestamp),使用calendar.timegm(datetime.timetuple())。
注意:
VC下相應(yīng)的接口是gmtime和_mkgmtime。
代碼:
# -*- coding: gb2312 -*-
# UTC時(shí)間轉(zhuǎn)換,最終得到的都是UTC時(shí)間:
# 時(shí)間戳(timestamp) 轉(zhuǎn)換-> UTC顯示時(shí)間(datetime)
# 顯示時(shí)間(datetime) 轉(zhuǎn)換-> UTC時(shí)間戳(timestamp)
# UTC,協(xié)調(diào)世界時(shí),又稱世界統(tǒng)一時(shí)間,可以認(rèn)為是時(shí)區(qū)為0的時(shí)間。
import time
import datetime
import calendar
aDatetime = datetime.datetime(1970, 1, 1, 0, 0, 1)
aTimestamp = 1
# 獲取時(shí)區(qū)時(shí)差
print "time.timezone: " , time.timezone
# 根據(jù)自定義時(shí)間,獲取顯示時(shí)間(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ù)時(shí)間戳(timestamp),獲取UTC顯示時(shí)間(datetime)。即:時(shí)間戳(timestamp) 轉(zhuǎn)換-> 顯示時(shí)間(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ù)顯示時(shí)間(datetime),獲取UTC時(shí)間戳(timestamp)。即:顯示時(shí)間(datetime) 轉(zhuǎn)換-> 時(shí)間戳(timestamp)。
print "calendar.timegm: datetime(%s)->timestamp(%s)" % (aDatetime.timetuple(), calendar.timegm(aDatetime.timetuple()))
dt = time.gmtime(aTimestamp - time.timezone) # time.mktime轉(zhuǎn)換時(shí)間是帶時(shí)區(qū)的,所以需要減掉時(shí)區(qū)時(shí)差
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é)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
Tensorflow 模型轉(zhuǎn)換 .pb convert to .lite實(shí)例
今天小編就為大家分享一篇Tensorflow 模型轉(zhuǎn)換 .pb convert to .lite實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02
在Linux下使用Python的matplotlib繪制數(shù)據(jù)圖的教程
這篇文章主要介紹了在Linux下使用Python的matplotlib繪制數(shù)據(jù)圖的教程,matplotlib基于Numpy進(jìn)行科學(xué)計(jì)算上的延伸,需要的朋友可以參考下2015-06-06
Windows下的Python 3.6.1的下載與安裝圖文詳解(適合32位和64位)
這篇文章主要介紹了Windows下的Python 3.6.1的下載與安裝圖文詳解(適合32位和64位),需要的朋友可以參考下2018-02-02
Python使用Selenium抓取動(dòng)態(tài)網(wǎng)頁的方法步驟
在如今的網(wǎng)絡(luò)中,許多網(wǎng)站是“動(dòng)態(tài)”的,即網(wǎng)頁內(nèi)容不是靜態(tài)的 HTML 文件,而是由 JavaScript 動(dòng)態(tài)生成的,這種動(dòng)態(tài)網(wǎng)頁在數(shù)據(jù)抓取中帶來了一些挑戰(zhàn),在本教程中,我們將詳細(xì)介紹如何使用 Python 抓取動(dòng)態(tài)網(wǎng)頁,需要的朋友可以參考下2024-11-11
Django和Ueditor自定義存儲(chǔ)上傳文件的文件名
這篇文章主要介紹了Django和Ueditor自定義存儲(chǔ)上傳文件的文件名,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
Python通過Django實(shí)現(xiàn)用戶注冊(cè)和郵箱驗(yàn)證功能代碼
這篇文章主要介紹了Python通過Django實(shí)現(xiàn)用戶注冊(cè)和郵箱驗(yàn)證功能代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
Python中驚艷的一行代碼簡(jiǎn)潔強(qiáng)大表達(dá)力技巧實(shí)例
在Python中,語言的設(shè)計(jì)理念之一是簡(jiǎn)潔優(yōu)雅,這使得我們能夠用一行代碼完成一些令人驚嘆的任務(wù),本文將分享一些在一行代碼中展現(xiàn)出Python強(qiáng)大表達(dá)力的示例,涵蓋各種領(lǐng)域的實(shí)用技巧2024-01-01

