Python的UTC时间转换讲解
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的时间。 importtime importdatetime importcalendar 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-10: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-0100: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-0100: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)
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。