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发送SMTP邮件的教程
Apr 29 Python
Python的Django框架中自定义模版标签的示例
Jul 20 Python
使用Python保存网页上的图片或者保存页面为截图
Mar 05 Python
用Python写王者荣耀刷金币脚本
Dec 21 Python
基于python3实现socket文件传输和校验
Jul 28 Python
为什么你还不懂得怎么使用Python协程
May 13 Python
python制作朋友圈九宫格图片
Nov 03 Python
Python序列类型的打包和解包实例
Dec 21 Python
Python 内置函数globals()和locals()对比详解
Dec 23 Python
TensorFlow的reshape操作 tf.reshape的实现
Apr 19 Python
使用OpenCV对车道进行实时检测的实现示例代码
Jun 19 Python
Python实现上下文管理器的方法
Aug 07 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
什么是短波收听SWL
2021/03/01 无线电
php学习 函数 课件
2008/06/15 PHP
基于PHP+Ajax实现表单验证的详解
2013/06/25 PHP
PHP无限分类(树形类)
2013/09/28 PHP
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
2013/11/07 PHP
Thinkphp调用Image类生成缩略图的方法
2015/03/07 PHP
jquery tools系列 expose 学习
2009/09/06 Javascript
jQuery中remove()方法用法实例
2014/12/25 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
2015/11/03 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
IONIC自定义subheader的最佳解决方案
2016/09/22 Javascript
bootstrap响应式表格实例详解
2017/05/15 Javascript
原生JS 购物车及购物页面的cookie使用方法
2017/08/21 Javascript
AjaxUpLoad.js实现文件上传
2018/03/05 Javascript
node打造微信个人号机器人的方法示例
2018/04/26 Javascript
python+opencv像素的加减和加权操作的实现
2019/07/14 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
Python3 pandas 操作列表实例详解
2019/09/23 Python
python实现差分隐私Laplace机制详解
2019/11/25 Python
基于keras输出中间层结果的2种实现方式
2020/01/24 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
使用Python将Exception异常错误堆栈信息写入日志文件
2020/04/08 Python
CSS3对图片照片进行边缘模糊处理的实现
2018/08/08 HTML / CSS
CSS3 @font-face属性使用指南
2014/12/12 HTML / CSS
美国在线鲜花速递:ProFlowers
2017/01/05 全球购物
瑜伽灵感珠宝:Satya Jewelry
2018/01/06 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
优秀电子工程系毕业生求职信
2014/05/24 职场文书
扶贫办主任查摆“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
复兴之路观后感3000字
2015/06/02 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
《刺客之王:C罗全景传记》:时代从来不会亏待手艺人
2019/11/28 职场文书
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers
MySQL性能指标TPS+QPS+IOPS压测
2022/08/05 MySQL
HTML5中的DOCUMENT.VISIBILITYSTATE属性详解
2023/05/07 HTML / CSS