一、

python里的时间戳转时间,UTC时间和local时间的对等转换

通常时间戳都是十位,有时为了需求会转化为13位的,但是在转化为时间的时候必须要转化为十位的。

import time
from datetime import datetime
from datetime import timedeltatime_stamp = 1525848792loc_time = time.localtime(time_stamp)
time1 = time.strftime("%Y-%m-%d %H:%M:%S",loc_time)utc_time = datetime.utcfromtimestamp(time_stamp)
time2 = utc_time + timedelta(hours=8)print(time1)
print(time2)

由于我们是在东八区,utc时间是在本初子午线,也就是在我们西边八个时区,所以要加上八个小时。结果如下:

2018-05-09 14:53:12
2018-05-09 14:53:12
[Finished in 0.1s]

二、

详解time模块中 UTC世界时间、时间戳、字符串三者的转换

# 本地时间 转换 为时间戳
import time
import pytz
import datetime
date_=datetime.datetime(2018,6,19,20,55,00)
timestamp2=time.mktime(date_.timetuple())   #date_.timetuple() 将datetime格式的转化为time模块的tuple格式
print(timestamp2)#时间戳转换为本地时间ltime=time.localtime(1529112900)  #time.struct_time(tm_year=2018, tm_mon=6, tm_mday=16, tm_hour=9, tm_min=35, tm_sec=0, tm_wday=5, tm_yday=167, tm_isdst=0)
timeStr=time.strftime("%Y-%m-%d %H:%M:%S", ltime)
print(timeStr)# UTCS时间转换为时间戳 2018-07-13T16:00:00Z
def utc_to_local(utc_time_str, utc_format='%Y-%m-%dT%H:%M:%SZ'):local_tz = pytz.timezone('Asia/Chongqing')      #定义本地时区local_format = "%Y-%m-%d %H:%M:%S"              #定义本地时间formatutc_dt = datetime.datetime.strptime(utc_time_str, utc_format)       #讲世界时间的格式转化为datetime.datetime格式local_dt = utc_dt.replace(tzinfo=pytz.utc).astimezone(local_tz)     #想将datetime格式添加上世界时区,然后astimezone切换时区:世界时区==>本地时区#time_str = local_dt.strftime(local_format)                         #将datetime格式转化为str—format格式#return int(time.mktime(time.strptime(time_str, local_format)))     #运用mktime方法将date—tuple格式的时间转化为时间戳;time.strptime()可以得到tuple的时间格式return int(time.mktime(local_dt.timetuple()))                       #返回当地时间戳# 本地时间转换为UTC  传入的本地时间戳 1531411200
def local_to_utc(local_ts, utc_format='%Y-%m-%dT%H:%MZ'):local_tz = pytz.timezone('Asia/Chongqing')    #定义本地时区local_format = "%Y-%m-%d %H:%M:%S"               #定义本地时间formattime_str = time.strftime(local_format, time.localtime(local_ts))    #首先将本地时间戳转化为时间元组,用strftime格式化成字符串dt = datetime.datetime.strptime(time_str, local_format)             #将字符串用strptime 转为为datetime中 datetime格式local_dt = local_tz.localize(dt, is_dst=None)                       #给时间添加时区,等价于 dt.replace(tzinfo=pytz.timezone('Asia/Chongqing'))utc_dt = local_dt.astimezone(pytz.utc)                              #astimezone切换时区return utc_dt.strftime(utc_format)                                  #返回世界时间格式print(utc_to_local('2018-07-13T16:00:00Z', utc_format='%Y-%m-%dT%H:%M:%SZ'))
print(local_to_utc(1531411200, utc_format='%Y-%m-%dT%H:%MZ'))'''
1529412900.0
2018-06-16 09:35:00
1531497600
2018-07-12T16:00Z
'''

三、

python UTC 与 本地时间互转

操作 MongoDB 时候出现了时区转换的问题,导致 Python 的时间对象存到 MongoDB 转成了 UTC 时间的格式,但是使用 Golang 查询时候与本地时间相差了 8 小时,所以这里写出了 Python 的本地时间与 UTC 时间的转换,Golang 的 MongoDB 驱动会自动做这种转换工作,另一篇参考文章:http://blog.csdn.net/u010649766/article/details/79385948

from datetime import datetimedef utc2local( utc_dtm ):# UTC 时间转本地时间( +8:00 )local_tm = datetime.fromtimestamp( 0 )utc_tm = datetime.utcfromtimestamp( 0 )offset = local_tm - utc_tmreturn utc_dtm + offsetdef local2utc( local_dtm ):# 本地时间转 UTC 时间( -8:00 )return datetime.utcfromtimestamp( local_dtm.timestamp() )if __name__ == "__main__":# utc_tm = datetime.utcnow()utc_tm = datetime( 2012, 10, 26, 10, 00, 00 )print( "src utc time:\t", utc_tm.strftime("%Y-%m-%d %H:%M:%S") ) # UTC 转本地local_tm = utc2local(utc_tm)print( "tran loc time:\t", local_tm.strftime("%Y-%m-%d %H:%M:%S") ) # 本地转 UTCutc_tran = local2utc(local_tm)print( "tran utc time:\t", utc_tran.strftime("%Y-%m-%d %H:%M:%S") ) 

Python UTC相关推荐

  1. python utc 时间

    python中,我们使用datetime处理日期.时间相关. 获取当前时间,主要有两个方法: datetime.now datetime.now():读取的时间是系统的本地时间,也就是说,如果系统时区 ...

  2. python utc时间转换为strftime

    拿来主义: from datetime import datetimefrom time import timetime_sec = time()def time2str(time_with_sec) ...

  3. python utc时间如何取整_Python和Pandas:如何在不同的分辨率上取整unix时间戳(utc):1min5min15min30min1d?...

    给出下面的时间解析示例,什么是缩短UNIX时间以获得下面所示结果的最快方法?在简单的python和pandas数据帧中?在import time unix_current = int(time.tim ...

  4. python UTC时间转换成北京时间

    UTC时间转成北京时间: 例如:2020-04-26T03:02:01Z 转成 2020-04-26 11:02:01 时差问题:UTC+8=北京时间 from datetime import dat ...

  5. python字符串转换字节_python 字节与字符串转换

    1.如果没有设置字符串编码格式,那么将采用系统默认编码格式 name = 'laogaoyang' # 采用系统默认编码格式 nameBytes = name.encode('utf-8') # 先将 ...

  6. Android USB gadget

    Android USB驱动中,上层应用协议里最重要的一个文件是android/kernel/drivers/usb/gadget/android.c.这个文件实现USB的上层应用协议. 首先包含了一些 ...

  7. python localtime 与utc时间差5分钟_python utc时间减去5分钟

    如何在Python中舍入5分钟? 我有这个脚本,但是我认为这可能更容易,而且整小时的计算都出错了.当其22:03时,它返回21:95而不是21:55. import datetime from dat ...

  8. python获取系统当前时间并转utc时间为绝对秒数_用Python将datetime.date转换为UTC时间戳...

    如果d = date(2011, 1, 1)在世界协调时:>>> from datetime import datetime, date>>> import cal ...

  9. Python中如何把一个UTC时间转换为本地时间

    需求: 将20141126010101格式UTC时间转换为本地时间. 在网上搜了好长时间都没有找到完美的解决方案.有的引用了第三方库,这就需要在现网安装第三方的软件.这个是万万不可的.因为真实环境不一 ...

  10. python获取计算机时间_在Python中获取计算机的UTC偏移量

    当年话下 time.timezone:import timeprint -time.timezone它以秒为单位打印UTC偏移量(考虑到夏令时(DST),请参见time.altzone:is_dst  ...

最新文章

  1. June:Datawhale开源学习小程序升级啦!
  2. P1516 青蛙的约会 [exgcd]
  3. Java程序员从笨鸟到菜鸟之(八十七)跟我学jquery(三)jquery动态创建元素和常用函数示例
  4. python如何模拟键盘输入_python 模拟键盘输入
  5. c语言中二分法100中找30,c语言中的二分法
  6. 静态和动态web的区别与联系
  7. django之同源策略
  8. Android Studio没有看到设备
  9. 笔记:Html.Partial和Html.Action
  10. uniapp 使用 colorUI
  11. android studio使用开源项目,gogo电子竞技-gogo电子竞技
  12. Quasi-Dense Similarity Learning for Multiple Object Tracking 详细解读
  13. 2022-2028年全球玻璃棉板收入年复合增长率CAGR为 5.0%
  14. Presto常用语句整理
  15. python如何安装第三方包
  16. 用Python实现单词尾缀的分析及提取
  17. C4D基础学习(二)-移动与捕捉工具
  18. 求职软件开发工程师,我需要准备什么?一些资源分享
  19. 使用Jenkins搭建iOS/Android持续集成打包平台
  20. 百度编辑器 百度编辑器

热门文章

  1. html 爱心树,jQuery结合HTML5制作的爱心树表白动画
  2. 天使轮和种子轮投资降温!2019风投趋势如何走?
  3. otdr全部曲线图带解说_【赛事主播】你最期望哪个电竞选手组合来解说比赛?...
  4. 如何分辨HDD/SSD硬盘接口?
  5. 开篇-后端工程师的开发利器
  6. python绘制爱心_求问怎样用python/python turtle画“心”呢?
  7. 关于Proximal Methods,近端梯度下降的理解
  8. 项目管理工作中的一些自我反省
  9. 白学立体视觉(2): 相机内外参数与坐标系
  10. 利用html2canvas和vue-qr生成带头像二维码的分享海报(二)