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 相关文章推荐
Python3.2中的字符串函数学习总结
Apr 23 Python
Python实现处理管道的方法
Jun 04 Python
Python简单格式化时间的方法【strftime函数】
Sep 18 Python
读写json中文ASCII乱码问题的解决方法
Nov 05 Python
Python基于动态规划算法解决01背包问题实例
Dec 06 Python
python自动登录12306并自动点击验证码完成登录的实现源代码
Apr 25 Python
python与caffe改变通道顺序的方法
Aug 04 Python
python实现windows倒计时锁屏功能
Jul 30 Python
python+jinja2实现接口数据批量生成工具
Aug 28 Python
Keras之自定义损失(loss)函数用法说明
Jun 10 Python
python virtualenv虚拟环境配置与使用教程详解
Jul 13 Python
python的链表基础知识点
Sep 13 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函数utf8转gb2312编码
2006/12/21 PHP
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
php三元运算符知识汇总
2015/07/02 PHP
Yii中创建自己的Widget实例
2016/01/05 PHP
轻松掌握php设计模式之访问者模式
2016/09/23 PHP
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
jquery选择符快速提取web表单数据示例
2014/03/27 Javascript
JavaScript中的console.group()函数详细介绍
2014/12/29 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
javascript简单链式调用案例分析
2017/05/10 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
JQuery 获取多个select标签option的text内容(实例)
2017/09/07 jQuery
VueJs监听window.resize方法示例
2018/01/17 Javascript
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
2018/05/18 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
2018/12/03 Javascript
Vue源码中要const _toStr = Object.prototype.toString的原因分析
2018/12/09 Javascript
layui lay-verify form表单自定义验证规则详解
2019/09/18 Javascript
jQuery实现移动端图片上传预览组件的方法分析
2020/05/01 jQuery
让IDE识别webpack的别名alias的实现方法
2020/05/06 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
2020/09/17 Javascript
Vue+Spring Boot简单用户登录(附Demo)
2020/11/12 Javascript
Python之ReportLab绘制条形码和二维码的实例
2018/01/15 Python
python 拼接文件路径的方法
2018/10/23 Python
浅谈Django中view对数据库的调用方法
2019/07/18 Python
Python企业编码生成系统之主程序模块设计详解
2019/07/26 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
2020/05/11 Python
详解pycharm2020.1.1专业版安装指南(推荐)
2020/08/07 Python
C#面试题问题集
2016/04/02 面试题
排序都有哪几种方法?请列举。用JAVA实现一个快速排序
2014/02/16 面试题
高校教师思想汇报
2014/01/11 职场文书
餐厅周年庆活动方案
2014/08/25 职场文书
合作协议书模板2014
2014/09/26 职场文书
学生违纪检讨书200字
2014/10/21 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
财务会计个人原因辞职信
2019/06/21 职场文书
手把手带你彻底卸载MySQL数据库
2022/06/14 MySQL