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 SqlAlchemy
Feb 12 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
Jul 07 Python
Python3.5多进程原理与用法实例分析
Apr 05 Python
Python求均值,方差,标准差的实例
Jun 29 Python
python3中利用filter函数输出小于某个数的所有回文数实例
Nov 24 Python
PyTorch学习:动态图和静态图的例子
Jan 06 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
Mar 06 Python
python 5个实用的技巧
Sep 27 Python
学会迭代器设计模式,帮你大幅提升python性能
Jan 03 Python
pycharm 复制代码出现空格的解决方式
Jan 15 Python
基于Python的接口自动化读写excel文件的方法
Jan 15 Python
基于Python实现流星雨效果的绘制
Mar 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 fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
2011/05/24 PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
2015/11/10 PHP
JavaScript入门教程(11) js事件处理
2009/01/31 Javascript
javascript代码加载优化方法
2011/01/30 Javascript
读jQuery之四(优雅的迭代)
2011/06/20 Javascript
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
js获取当前路径的简单示例代码
2014/01/08 Javascript
javascript实现当前页导航激活的方法
2015/02/27 Javascript
javascript实现全角转半角的方法
2016/01/23 Javascript
使用nodejs中httpProxy代理时候出现404异常的解决方法
2016/08/15 NodeJs
微信小程序网络请求的封装与填坑之路
2017/04/01 Javascript
JavaScript设计模式之原型模式分析【ES5与ES6】
2018/07/26 Javascript
对angularJs中$sce服务安全显示html文本的实例
2018/09/30 Javascript
Vue3 实现双盒子定位Overlay的示例
2020/12/22 Vue.js
跟老齐学Python之正规地说一句话
2014/09/28 Python
django通过ajax发起请求返回JSON格式数据的方法
2015/06/04 Python
Python高级property属性用法实例分析
2019/11/19 Python
分享CSS3中必须要知道的10个顶级命令
2012/04/26 HTML / CSS
css3实现元素环绕中心点布局的方法示例
2019/01/15 HTML / CSS
植村秀加拿大官网:Shu Uemura加拿大
2019/09/03 全球购物
俄罗斯园林植物网上商店:Garshinka
2020/07/16 全球购物
网络安全方面的面试题
2016/01/07 面试题
港湾网络笔试题
2014/04/19 面试题
实习生单位鉴定意见
2013/12/04 职场文书
大学生军训广播稿
2014/01/24 职场文书
计算机科学系职业生涯规划书
2014/03/08 职场文书
单位授权委托书范本
2014/09/26 职场文书
国际政治学专业推荐信
2014/09/26 职场文书
党的群众路线教育实践活动批评与自我批评发言稿
2014/10/16 职场文书
2014年学校总务处工作总结
2014/12/08 职场文书
自我评价优缺点范文
2015/03/11 职场文书
2015年妇委会工作总结
2015/05/22 职场文书
Java Optional<Foo>转换成List<Bar>的实例方法
2021/06/20 Java/Android
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers