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 相关文章推荐
利用信号如何监控Django模型对象字段值的变化详解
Nov 27 Python
Sanic框架应用部署方法详解
Jul 18 Python
python批量修改图片大小的方法
Jul 24 Python
tensorflow实现加载mnist数据集
Sep 08 Python
将pandas.dataframe的数据写入到文件中的方法
Dec 07 Python
python占位符输入方式实例
May 27 Python
python用线性回归预测股票价格的实现代码
Sep 04 Python
centos7中安装python3.6.4的教程
Dec 11 Python
使用python创建生成动态链接库dll的方法
May 09 Python
python Autopep8实现按PEP8风格自动排版Python代码
Mar 02 Python
使用pytorch实现线性回归
Apr 11 Python
Python图像处理之图像拼接
Apr 28 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中防止SQL注入攻击和XSS攻击的两个简单方法
2010/04/15 PHP
使用php转义输出HTML到JavaScript
2015/03/27 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
2016/03/21 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
js改变img标签的src属性在IE下没反应的解决方法
2013/07/23 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
如何将php数组或者对象传递给javascript
2014/03/20 Javascript
Javascript节点关系实例分析
2015/05/15 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
如何使用angularJs
2017/05/08 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
vue如何解决循环引用组件报错的问题
2018/09/22 Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
2018/12/11 Javascript
JS实现的全选、全不选及反选功能【案例】
2019/02/19 Javascript
Vue用mixin合并重复代码的实现
2020/11/27 Vue.js
[01:41]DOTA2 2015国际邀请赛中国区预选赛第三日战报
2015/05/28 DOTA
python del()函数用法
2013/03/24 Python
Python类的定义、继承及类对象使用方法简明教程
2015/05/08 Python
Python中遍历字典过程中更改元素导致异常的解决方法
2016/05/12 Python
python如何在终端里面显示一张图片
2016/08/17 Python
Python 中 list 的各项操作技巧
2017/04/13 Python
Python基于matplotlib绘制栈式直方图的方法示例
2017/08/09 Python
python数据结构之链表详解
2017/09/12 Python
python numpy格式化打印的实例
2018/05/14 Python
python 美化输出信息的实例
2018/10/15 Python
详解Python下Flask-ApScheduler快速指南
2018/11/04 Python
python 将有序数组转换为二叉树的方法
2019/03/26 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
物业公司采购员岗位职责
2013/12/31 职场文书
打架检讨书400字
2014/01/17 职场文书
Python+uiautomator2实现自动刷抖音视频功能
2021/04/29 Python
Python可视化动图组件ipyvizzu绘制惊艳的可视化动图
2022/04/21 Python