UTC時間轉換,最終得到的都是UTC時間。
簡單來說就是:
時間戳(timestamp) 轉換-> UTC顯示時間(datetime),使用time.gmtime(timestamp)。
顯示時間(datetime) 轉換-> UTC時間戳(timestamp),使用calendar.timegm(datetime.timetuple())。
注意:
VC下相應的接口是gmtime和_mkgmtime。
代碼:
# -*- coding: gb2312 -*-# UTC時間轉換,最終得到的都是UTC時間:# 時間戳(timestamp)  轉換-> UTC顯示時間(datetime)# 顯示時間(datetime) 轉換-> UTC時間戳(timestamp)# UTC,協調世界時,又稱世界統一時間,可以認為是時區為0的時間。import timeimport datetimeimport calendaraDatetime = datetime.datetime(1970, 1, 1, 0, 0, 1)aTimestamp = 1# 獲取時區時差print "time.timezone: " , time.timezone# 根據自定義時間,獲取顯示時間(datetime)。print "datetime: ", aDatetimeprint "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)
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林站長站的支持。如果你想了解更多相關內容請查看下面相關鏈接
新聞熱點
疑難解答