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 BeautifulSoup使用方法详解
Nov 21 Python
Python 3中的yield from语法详解
Jan 18 Python
利用Python如何生成hash值示例详解
Dec 20 Python
TensorFlow实现Batch Normalization
Mar 08 Python
浅谈python numpy中nonzero()的用法
Apr 02 Python
Python 使用元类type创建类对象常见应用详解
Oct 17 Python
Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解
Feb 10 Python
Python Tkinter图形工具使用方法及实例解析
Jun 15 Python
如何快速理解python的垃圾回收机制
Sep 01 Python
PyCharm Community安装与配置的详细教程
Nov 24 Python
selenium+headless chrome爬虫的实现示例
Jan 08 Python
python数据抓取3种方法总结
Feb 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
php 随机生成10位字符代码
2009/03/26 PHP
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
magento后台无法登录解决办法的两种方法
2016/12/09 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
接收键盘指令的脚本
2006/06/26 Javascript
javascript引用对象的方法
2007/01/11 Javascript
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
2012/03/01 Javascript
jquery如何把数组变为字符串传到服务端并处理
2014/04/30 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
jQuery支持动态参数将函数绑定到事件上的方法
2015/03/17 Javascript
Vue.js基础知识汇总
2016/04/27 Javascript
JS定时器实现数值从0到10来回变化
2016/12/09 Javascript
JS手机端touch事件计算滑动距离的方法示例
2017/10/26 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
2018/02/27 jQuery
详解vue文件中使用echarts.js的两种方式
2018/10/18 Javascript
vue element el-transfer增加拖拽功能
2021/01/15 Vue.js
关于better-scroll插件的无法滑动bug(2021通过插件解决)
2021/03/01 Javascript
[51:34]Ti4主赛事胜者组 DK vs EG 2
2014/07/19 DOTA
Python字符和字符值(ASCII或Unicode码值)转换方法
2015/05/21 Python
Python用list或dict字段模式读取文件的方法
2017/01/10 Python
python验证身份证信息实例代码
2019/05/06 Python
Python解析json时提示“string indices must be integers”问题解决方法
2019/07/31 Python
通过实例解析Python调用json模块
2019/12/11 Python
使用Python开发个京东上抢口罩的小实例(仅作技术研究学习使用)
2020/03/10 Python
pandas之分组groupby()的使用整理与总结
2020/06/18 Python
Python使用for生成列表实现过程解析
2020/09/22 Python
纯CSS实现右侧底部悬浮效果(悬浮QQ、微信、微博、邮箱等联系方式)
2015/04/24 HTML / CSS
html5使用canvas压缩图片的示例代码
2018/09/11 HTML / CSS
党课学习思想汇报
2014/01/02 职场文书
旷课检讨书大全
2014/01/21 职场文书
城建学院毕业生自荐信
2014/01/31 职场文书
财务工作犯错检讨书
2014/10/07 职场文书
2015年师德师风承诺书
2015/01/22 职场文书
使用Python拟合函数曲线
2022/04/14 Python