Python的UTC時間轉換

2021-07-11 15:30:18 字數 2509 閱讀 8394

utc時間轉換,最終得到的都是utc時間。

簡單來說就是:

時間戳(timestamp) 轉換-> utc顯示時間(datetime),使用time.gmtime(timestamp)。

顯示時間(datetime) 轉換-> utc時間戳(timestamp),使用calendar.timegm(datetime.timetuple())。

注意:vc下相應的介面是gmtime和_mkgmtime。

**:

# -*- coding: gb2312 -*-

# 時間戳(timestamp) 轉換-> utc顯示時間(datetime)

# 顯示時間(datetime) 轉換-> utc時間戳(timestamp)

# utc,協調世界時,又稱世界統一時間,可以認為是時區為0的時間。

import time

import datetime

import calendar

adatetime = datetime.datetime(1970, 1, 1, 0, 0, 1)

atimestamp = 1

# 獲取時區時差

print "time.timezone: " , time.timezone

# 根據自定義時間,獲取顯示時間(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")

# 根據時間戳(timestamp),獲取utc顯示時間(datetime)。即:時間戳(timestamp) 轉換-> 顯示時間(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))

# 根據顯示時間(datetime),獲取utc時間戳(timestamp)。即:顯示時間(datetime) 轉換-> 時間戳(timestamp)。

print "calendar.timegm: datetime(%s)->timestamp(%s)" % (adatetime.timetuple(), calendar.timegm(adatetime.timetuple()))

dt = time.gmtime(atimestamp - time.timezone) # time.mktime轉換時間是帶時區的,所以需要減掉時區時差

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)

Python本地時間與UTC時間轉換

coding utf 8 import time import datetime class timeshift def init self pass defget utctime self datetime.datetime utc time datetime.datetime.utcfromti...

utc時間 單位換算 UTC轉換本地時間

title utc轉換本地時間 author norains date friday 26 march 2010 environment windows xp windows ce 一般情況下,我們很少需要用到utc轉換為本地時間 因為如果僅僅是獲取本機的本地時間,我們完全可以不用如此麻煩,直接呼叫...

GMT時間,utc時間

最近專案裡面要求傳遞的時間戳為gmt時間,所以也整了一會才出來.獲取格林威治當天 最開始和最結束的秒數 還是moment元件 var begin moment hours 0 minutes 0 seconds 0 format yyyy mm dd hh mm ss var starttime s...