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 七种邮件内容发送方法实例
Apr 22 Python
使用Python的Scrapy框架编写web爬虫的简单示例
Apr 17 Python
win10环境下python3.5安装步骤图文教程
Feb 03 Python
Python制作豆瓣图片的爬虫
Dec 28 Python
python中将正则过滤的内容输出写入到文件中的实例
Oct 21 Python
python实现贪吃蛇游戏
Mar 21 Python
python 使用while循环输出*组成的菱形实例
Apr 12 Python
Python3 selenium 实现QQ群接龙自动化功能
Apr 17 Python
Django静态资源部署404问题解决方案
May 11 Python
Python 创建TCP服务器的方法
Jul 28 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
Aug 11 Python
Python hashlib模块的使用示例
Oct 09 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之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
PHP扩展CURL的用法详解
2014/06/20 PHP
PHP+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
Thinkphp框架+Layui实现图片/文件上传功能分析
2020/02/07 PHP
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
在html页面上拖放移动标签
2010/01/08 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
2013/11/14 Javascript
Extjs4实现两个GridPanel之间数据拖拽功能具体方法
2013/11/21 Javascript
jQuery实现根据类型自动显示和隐藏表单
2015/03/18 Javascript
JS实现可点击展开与关闭的左侧广告代码
2015/09/02 Javascript
超详细的javascript数组方法汇总
2015/11/21 Javascript
Bootstrap 3 进度条的实现
2017/02/22 Javascript
微信小程序版翻牌小游戏
2018/01/26 Javascript
详解vue服务端渲染浏览器端缓存(keep-alive)
2018/10/12 Javascript
浅谈vue加载优化策略
2019/03/19 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
JavaScript实现简单进度条效果
2020/03/25 Javascript
js节流防抖应用场景,以及在vue中节流防抖的具体实现操作
2020/09/21 Javascript
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
2014/07/11 Python
Flask框架的学习指南之制作简单blog系统
2016/11/20 Python
Python Pandas找到缺失值的位置方法
2018/04/12 Python
Python读取YUV文件,并显示的方法
2018/12/04 Python
Python实现FM算法解析
2019/06/18 Python
python如何使用socketserver模块实现并发聊天
2019/12/14 Python
python之pymysql模块简单应用示例代码
2019/12/16 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
2020/04/07 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
2020/05/15 Python
Python TestSuite生成测试报告过程解析
2020/07/23 Python
Python实现FTP文件定时自动下载的步骤
2020/12/19 Python
分享30个新鲜的CSS3打造的精美绚丽效果(附演示下载)
2012/12/28 HTML / CSS
优秀学生自我鉴定范例
2013/12/18 职场文书
创业培训计划书
2014/05/03 职场文书
硕士学位申请报告
2015/05/15 职场文书
html粘性页脚的具体使用
2022/01/18 HTML / CSS
java代码实现空间切割
2022/01/18 Java/Android