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实现带错误处理功能的远程文件读取方法
Apr 29 Python
基python实现多线程网页爬虫
Sep 06 Python
Python 序列的方法总结
Oct 18 Python
Python 数据处理库 pandas进阶教程
Apr 21 Python
Python 编码规范(Google Python Style Guide)
May 05 Python
python抽取指定url页面的title方法
May 11 Python
pytorch自定义初始化权重的方法
Aug 17 Python
Python操作SQLite数据库过程解析
Sep 02 Python
在Python中画图(基于Jupyter notebook的魔法函数)
Oct 28 Python
python 实现PIL模块在图片画线写字
May 16 Python
Python如何实现后端自定义认证并实现多条件登陆
Jun 22 Python
python正则表达式re.search()的基本使用教程
May 21 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
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
PHP漏洞全解(详细介绍)
2012/11/13 PHP
windows下zendframework项目环境搭建(通过命令行配置)
2012/12/06 PHP
PHP中require和include路径问题详解
2014/12/25 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
2015/11/19 PHP
javascript 写类方式之五
2009/07/05 Javascript
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
JS中eval函数的使用示例
2013/07/21 Javascript
js输出阴历、阳历、年份、月份、周示例代码
2014/01/29 Javascript
Javascript中获取对象的原型对象的方法小结
2015/02/25 Javascript
jQuery Validate表单验证入门学习
2015/12/18 Javascript
Nodejs中 npm常用命令详解
2016/07/04 NodeJs
jQuery ajax方法传递中文时出现中文乱码的解决方法
2016/07/25 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
Node.Js中实现端口重用原理详解
2018/05/03 Javascript
vue项目实现github在线预览功能
2018/06/20 Javascript
angular中如何绑定iframe中src的方法
2019/02/01 Javascript
微信小程序实现获取用户信息并存入数据库操作示例
2019/05/07 Javascript
[01:01:36]Optic vs paiN 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[01:47]2018年度DOTA2最佳教练-完美盛典
2018/12/16 DOTA
Python中shutil模块的学习笔记教程
2017/04/04 Python
简单实现python聊天程序
2018/04/01 Python
浅析python的Lambda表达式
2019/02/27 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
python中p-value的实现方式
2019/12/16 Python
Selenium 滚动页面至元素可见的方法
2020/03/18 Python
Django 实现 Websocket 广播、点对点发送消息的代码
2020/06/03 Python
基于Python的一个自动录入表格的小程序
2020/08/05 Python
CSS3教程(8):CSS3透明度指南
2009/04/02 HTML / CSS
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
触发器(trigger)的功能都有哪些?写出一个触发器的例子
2012/09/17 面试题
急诊科护士自我鉴定
2013/10/14 职场文书
公司成立感言
2014/01/11 职场文书
致百米运动员广播稿
2014/01/29 职场文书
党员发展大会主持词
2015/07/03 职场文书
mysql备份策略的实现(全量备份+增量备份)
2021/07/07 MySQL