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 相关文章推荐
用python + openpyxl处理excel2007文档思路以及心得
Jul 14 Python
在Python的web框架中配置app的教程
Apr 30 Python
python交互式图形编程实例(二)
Nov 17 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
Feb 26 Python
使用python将大量数据导出到Excel中的小技巧分享
Jun 14 Python
python K近邻算法的kd树实现
Sep 06 Python
python的turtle库使用详解
May 10 Python
python多线程实现代码(模拟银行服务操作流程)
Jan 13 Python
python json.dumps() json.dump()的区别详解
Jul 14 Python
Python json格式化打印实现过程解析
Jul 21 Python
jupyter 添加不同内核的操作
Feb 06 Python
拒绝盗图!教你怎么用python给图片加水印
Jun 04 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运行环境配置的详解
2013/06/04 PHP
php对文件进行hash运算的方法
2015/04/03 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
2016/02/01 PHP
PHP执行linux命令常用函数汇总
2016/02/02 PHP
PHP 读取大文件并显示的简单实例(推荐)
2016/08/12 PHP
解决FireFox下[使用event很麻烦]的问题
2006/11/26 Javascript
基于jquery的一个简单的脚本验证插件
2010/04/05 Javascript
javascript笛卡尔积算法实现方法
2015/04/08 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
2016/06/17 Javascript
一个炫酷的Bootstrap导航菜单
2016/12/28 Javascript
使用JS和canvas实现gif动图的停止和播放代码
2017/09/01 Javascript
详解JavaScript函数callee、call、apply的区别
2019/03/08 Javascript
详解vue中axios请求的封装
2019/04/08 Javascript
详解微信小程序的不同函数调用的几种方法
2019/05/08 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
微信小程序 如何获取网络状态
2019/07/26 Javascript
原生js实现点击按钮复制内容到剪切板
2020/11/19 Javascript
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2015/05/22 Python
浅谈python中的__init__、__new__和__call__方法
2017/07/18 Python
Python爬虫实例_城市公交网络站点数据的爬取方法
2018/01/10 Python
Python3读取Excel数据存入MySQL的方法
2018/05/04 Python
Python实现端口检测的方法
2018/07/24 Python
详解将Django部署到Centos7全攻略
2018/09/26 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
Python 代码调试技巧示例代码
2020/08/11 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
全球酒店比价网:HotelsCombined
2017/06/20 全球购物
美国在线医疗分销商:MedEx Supply
2020/02/04 全球购物
资助贫困学生倡议书
2014/05/16 职场文书
2014小学教师年度考核工作总结
2014/12/03 职场文书
2015年数学教师工作总结
2015/05/20 职场文书
财务人员廉洁自律心得体会
2016/01/13 职场文书
详解Java实践之建造者模式
2021/06/18 Java/Android