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 相关文章推荐
java直接调用python脚本的例子
Feb 16 Python
python元组操作实例解析
Sep 23 Python
python中ConfigParse模块的用法
Sep 29 Python
简单介绍Python的Tornado框架中的协程异步实现原理
Apr 23 Python
Python实现给qq邮箱发送邮件的方法
May 28 Python
python使用psutil模块获取系统状态
Aug 27 Python
python 数据的清理行为实例详解
Jul 12 Python
JS设计模式之责任链模式实例详解
Feb 03 Python
Python运维自动化之nginx配置文件对比操作示例
Aug 29 Python
对python过滤器和lambda函数的用法详解
Jan 21 Python
用Python爬取QQ音乐评论并制成词云图的实例
Aug 24 Python
Django框架 查询Extra功能实现解析
Sep 04 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
Sony CFR 320 修复改造
2020/03/14 无线电
PHP连接SQLSERVER 注意事项(附dll文件下载)
2012/06/28 PHP
Yii中Model(模型)的创建及使用方法
2015/12/28 PHP
浅谈PHP中的Trait使用方法
2019/03/22 PHP
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
2009/12/02 Javascript
打印json对象的内容及JSON.stringify函数应用
2013/03/29 Javascript
js的隐含参数(arguments,callee,caller)使用方法
2014/01/28 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
2014/01/31 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
javascript中的深复制详解及实例分析
2016/12/29 Javascript
谈谈Vue.js——vue-resource全攻略
2017/01/16 Javascript
JS移动端/H5同时选择多张图片上传并使用canvas压缩图片
2017/06/20 Javascript
详解jQuery中的isPlainObject()使用方法
2018/02/27 jQuery
node.js使用redis储存session的方法
2018/09/26 Javascript
Vue实现简易翻页效果源码分享
2018/11/08 Javascript
小程序登录/注册页面设计的实现代码
2019/05/24 Javascript
Jquery Datatables的使用详解
2020/01/30 jQuery
JS图片预加载三种实现方法解析
2020/05/08 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
vant时间控件使用方法详解
2020/12/24 Javascript
python通过pil将图片转换成黑白效果的方法
2015/03/16 Python
基于Python和Scikit-Learn的机器学习探索
2017/10/16 Python
利用Python实现斐波那契数列的方法实例
2020/07/26 Python
详解CSS3开启硬件加速的使用和坑
2017/08/21 HTML / CSS
HTML5如何实现元素拖拽
2016/03/11 HTML / CSS
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
2013/06/09 HTML / CSS
英国简约舒适女装品牌:Great Plains
2018/07/27 全球购物
办理信用卡工作证明
2014/01/11 职场文书
运动会入场词60字
2014/02/15 职场文书
教师考核材料
2014/05/21 职场文书
社区活动策划方案
2014/08/21 职场文书
工伤事故赔偿协议书(标准)
2014/09/29 职场文书
高中校园广播稿
2014/10/21 职场文书
党支部评议意见
2015/06/02 职场文书
python tkinter Entry控件的焦点移动操作
2021/05/22 Python
MySQL的全局锁和表级锁的具体使用
2021/08/23 MySQL