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编写一个在Linux下实现截图分享的脚本的教程
Apr 24 Python
在Python中使用第三方模块的教程
Apr 27 Python
Python实现递归遍历文件夹并删除文件
Apr 18 Python
python 3.6.5 安装配置方法图文教程
Sep 18 Python
python开发之anaconda以及win7下安装gensim的方法
Jul 05 Python
用Python徒手撸一个股票回测框架搭建【推荐】
Aug 05 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
Dec 13 Python
python dataframe NaN处理方式
Dec 26 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
Feb 21 Python
Django调用百度AI接口实现人脸注册登录代码实例
Apr 23 Python
python线性插值解析
Jul 05 Python
python实现mask矩阵示例(根据列表所给元素)
Jul 30 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书写安全的脚本代码
2012/02/05 PHP
PHP微信刮刮卡 附微信接口
2016/07/22 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
PHP判断一个变量是否为整数、正整数的方法示例
2019/09/11 PHP
js类中获取外部函数名的方法
2007/08/19 Javascript
JavaScript对象链式操作代码(jquery)
2010/07/04 Javascript
Jquery带搜索框的下拉菜单
2013/05/06 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
jquery实现可关闭的倒计时广告特效代码
2015/09/02 Javascript
JavaScript遍历求解数独问题的主要思路小结
2016/06/12 Javascript
JS排序之快速排序详解
2017/04/08 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
2017/05/10 Javascript
详解js几个绕不开的事件兼容写法
2017/08/30 Javascript
vue+Java后端进行调试时解决跨域问题的方式
2017/10/19 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
vue做移动端适配最佳解决方案(亲测有效)
2018/09/04 Javascript
简化版的vue-router实现思路详解
2018/10/19 Javascript
python中readline判断文件读取结束的方法
2014/11/08 Python
Linux系统上Nginx+Python的web.py与Django框架环境
2015/12/25 Python
实例解析Python中的__new__特殊方法
2016/06/02 Python
python 定义给定初值或长度的list方法
2018/06/23 Python
浅谈pandas用groupby后对层级索引levels的处理方法
2018/11/06 Python
django 邮件发送模块smtp使用详解
2019/07/22 Python
Feelunique美国:欧洲大型的在线美妆零售电商
2018/11/04 全球购物
LightInTheBox法国站:中国跨境电商
2020/03/05 全球购物
华为C++笔试题
2014/08/05 面试题
大学军训感言1500字
2014/03/09 职场文书
《回乡偶书》教学反思
2014/04/12 职场文书
中学生学雷锋演讲稿
2014/04/26 职场文书
舞蹈教育学专业求职信
2014/06/29 职场文书
先进班集体事迹材料
2014/12/25 职场文书
早上好问候语大全
2015/11/10 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书
python Tkinter的简单入门教程
2021/04/11 Python
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
一文弄懂MySQL索引创建原则
2022/02/28 MySQL