Python的UTC时间转换讲解


Posted in Python onFebruary 26, 2019

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 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 相关文章推荐
python使用chardet判断字符串编码的方法
Mar 13 Python
详谈Python基础之内置函数和递归
Jun 21 Python
对python抓取需要登录网站数据的方法详解
May 21 Python
python获取命令行输入参数列表的实例代码
Jun 23 Python
Python3中在Anaconda环境下安装basemap包
Oct 21 Python
Pandas GroupBy对象 索引与迭代方法
Nov 16 Python
对python 中re.sub,replace(),strip()的区别详解
Jul 22 Python
利用OpenCV和Python实现查找图片差异
Dec 19 Python
python 装饰器的实际作用有哪些
Sep 07 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
Feb 06 Python
python爬虫scrapy框架之增量式爬虫的示例代码
Feb 26 Python
Python Django获取URL中的数据详解
Nov 01 Python
Python逐行读取文件中内容的简单方法
Feb 26 #Python
Python计算时间间隔(精确到微妙)的代码实例
Feb 26 #Python
python3编写ThinkPHP命令执行Getshell的方法
Feb 26 #Python
初探利用Python进行图文识别(OCR)
Feb 26 #Python
Python编写合并字典并实现敏感目录的小脚本
Feb 26 #Python
Python实现监控Nginx配置文件的不同并发送邮件报警功能示例
Feb 26 #Python
利用python实现对web服务器的目录探测的方法
Feb 26 #Python
You might like
php入门学习知识点一 PHP与MYSql连接与查询
2011/07/14 PHP
定义php常量的详解
2013/06/09 PHP
PHP常用header头定义代码示例汇总
2020/08/29 PHP
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
让div层随鼠标移动的实现代码 ie ff
2009/12/18 Javascript
一个基于jQuery的树型插件(OrangeTree)使用介绍
2012/05/03 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
java和javascript获取word文档的书签位置对比
2014/06/19 Javascript
jQuery子属性过滤选择器用法分析
2015/02/10 Javascript
jQuery+css3实现文字跟随鼠标的上下抖动
2015/07/31 Javascript
js倒计时抢购实例
2015/12/20 Javascript
AngularJS 遇到的小坑与技巧小结
2016/06/07 Javascript
JavaScript类型系统之布尔Boolean类型详解
2016/06/26 Javascript
Jquery和Js获得元素标签名称的方法总结
2016/10/08 Javascript
浅谈JS中String()与 .toString()的区别
2016/10/20 Javascript
js实现拖拽功能
2017/03/01 Javascript
BootStrap的两种模态框方式
2017/05/10 Javascript
通过一次报错详细谈谈Point事件
2018/05/17 Javascript
JavaScript实现仿Clock ISO时钟
2018/06/29 Javascript
element-ui 中使用upload多文件上传只请求一次接口
2019/07/19 Javascript
vue语法自动转typescript(解放双手)
2019/09/18 Javascript
微信小程序监听用户登录事件的实现方法
2019/11/11 Javascript
Vuejs中的watch实例详解(监听者)
2020/01/05 Javascript
[06:45]DOTA2-DPC中国联赛 正赛 Magma vs LBZS 选手采访
2021/03/11 DOTA
Python urllib模块urlopen()与urlretrieve()详解
2013/11/01 Python
python解析基于xml格式的日志文件
2017/02/25 Python
Python中的pack和unpack的使用
2018/03/12 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
CSS3的文字阴影—text-shadow的使用方法
2012/12/25 HTML / CSS
ParcelABC西班牙:包裹运送和快递服务
2019/12/24 全球购物
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
民主评议党员登记表自我评价
2014/10/20 职场文书
2015年乡镇党务公开工作总结
2015/05/19 职场文书
导游词之徐州云龙湖
2019/11/19 职场文书
浅谈redis缓存在项目中的使用
2021/05/20 Redis