Python中实现对Timestamp和Datetime及UTC时间之间的转换


Posted in Python onApril 08, 2015

Python项目中很多时候会需要将时间在Datetime格式和TimeStamp格式之间转化,又或者你需要将UTC时间转化为本地时间,本文总结了这几个时间之间转化的函数,供大家参考。

一、Datetime转化为TimeStamp
 

def datetime2timestamp(dt, convert_to_utc=False):
  ''' Converts a datetime object to UNIX timestamp in milliseconds. '''
  if isinstance(dt, datetime.datetime):
    if convert_to_utc: # 是否转化为UTC时间
      dt = dt + datetime.timedelta(hours=-8) # 中国默认时区
    timestamp = total_seconds(dt - EPOCH)
    return long(timestamp)
  return dt

二、TimeStamp转化为Datetime
 

def timestamp2datetime(timestamp, convert_to_local=False):
  ''' Converts UNIX timestamp to a datetime object. '''
  if isinstance(timestamp, (int, long, float)):
    dt = datetime.datetime.utcfromtimestamp(timestamp)
    if convert_to_local: # 是否转化为本地时间
      dt = dt + datetime.timedelta(hours=8) # 中国默认时区
    return dt
  return timestamp

三、当前UTC时间的TimeStamp
 

def timestamp_utc_now():
  return datetime2timestamp(datetime.datetime.utcnow())

四、当前本地时间的TimeStamp
 

def timestamp_now():
  return datetime2timestamp(datetime.datetime.now())

五、UTC时间转化为本地时间
 

# 需要安装python-dateutil
# Ubuntu下:sudo apt-get install python-dateutil
# 或者使用PIP:sudo pip install python-dateutil
from dateutil import tz
from dateutil.tz import tzlocal
from datetime import datetime
 
# get local time zone name
print datetime.now(tzlocal()).tzname()
 
# UTC Zone
from_zone = tz.gettz('UTC')
# China Zone
to_zone = tz.gettz('CST')
 
utc = datetime.utcnow()
 
# Tell the datetime object that it's in UTC time zone
utc = utc.replace(tzinfo=from_zone)
 
# Convert time zone
local = utc.astimezone(to_zone)
print datetime.strftime(local, "%Y-%m-%d %H:%M:%S")
Python 相关文章推荐
使用相同的Apache实例来运行Django和Media文件
Jul 22 Python
Python实现快速排序和插入排序算法及自定义排序的示例
Feb 16 Python
go和python变量赋值遇到的一个问题
Aug 31 Python
解决DataFrame排序sort的问题
Jun 07 Python
OpenCV+python手势识别框架和实例讲解
Aug 03 Python
详解windows python3.7安装numpy问题的解决方法
Aug 13 Python
对python3中pathlib库的Path类的使用详解
Oct 14 Python
python学习之hook钩子的原理和使用
Oct 25 Python
详解numpy的argmax的具体使用
May 27 Python
Django基于客户端下载文件实现方法
Apr 21 Python
Python 保存加载mat格式文件的示例代码
Aug 04 Python
利用python为PostgreSQL的表自动添加分区
Jan 18 Python
python模块之StringIO使用示例
Apr 08 #Python
Python StringIO模块实现在内存缓冲区中读写数据
Apr 08 #Python
Python实现的简单文件传输服务器和客户端
Apr 08 #Python
操作Windows注册表的简单的Python程序制作教程
Apr 07 #Python
编写简单的Python程序来判断文本的语种
Apr 07 #Python
Python实现在线程里运行scrapy的方法
Apr 07 #Python
Python实现从脚本里运行scrapy的方法
Apr 07 #Python
You might like
让PHP开发者事半功倍的十大技巧小结
2010/04/20 PHP
模板引擎正则表达式调试小技巧
2011/07/20 PHP
54个提高PHP程序运行效率的方法
2015/07/19 PHP
部署PHP时的4个配置修改说明
2015/10/19 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
解决laravel查询构造器中的别名问题
2019/10/17 PHP
Avengerls vs Newbee BO3 第二场2.18
2021/03/10 DOTA
javascript 面向对象编程基础:封装
2009/08/21 Javascript
javascript与CSS复习(三)
2010/06/29 Javascript
javascript删除option选项的多种方法总结
2013/11/22 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
jQuery中is()方法用法实例
2015/01/06 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
js实现九宫格图片半透明渐显特效的方法
2015/02/16 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
2016/06/20 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
Vue.js tab实现选项卡切换
2017/05/16 Javascript
通过函数作用域和块级作用域看javascript的作用域链
2018/08/05 Javascript
webstorm+vue初始化项目的方法
2018/10/18 Javascript
js实现星星海特效的示例
2020/09/28 Javascript
TensorFlow神经网络优化策略学习
2018/03/09 Python
Python读取分割压缩TXT文本文件实例
2020/02/14 Python
mui几种页面跳转方式对比总结概括
2017/08/18 HTML / CSS
澳大利亚新奇小玩意网站:Yellow Octopus
2017/12/28 全球购物
Clarria化妆品官方网站:购买天然和有机化妆品系列
2018/04/08 全球购物
激光脱毛、蓝光和护肤:Tria Beauty
2019/03/28 全球购物
个人整改方案范文
2014/10/25 职场文书
2014年行政助理工作总结
2014/11/19 职场文书
2014年妇幼卫生工作总结
2014/12/09 职场文书
委托书的样本
2015/01/28 职场文书
幼儿园小班班务总结
2015/08/03 职场文书
导游词之清晏园
2019/11/22 职场文书
Python基于百度AI实现抓取表情包
2021/06/27 Python
golang为什么要统一错误处理
2022/04/03 Golang
 python中的元类metaclass详情
2022/05/30 Python