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中的__SLOTS__属性使用示例
Feb 18 Python
python通过文件头判断文件类型
Oct 30 Python
Python3.4编程实现简单抓取爬虫功能示例
Sep 14 Python
50行Python代码实现人脸检测功能
Jan 23 Python
python 多个参数不为空校验方法
Feb 14 Python
实例详解Matlab 与 Python 的区别
Apr 26 Python
Django多数据库的实现过程详解
Aug 01 Python
Django 拆分model和view的实现方法
Aug 16 Python
Python @property装饰器原理解析
Jan 22 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
May 22 Python
python基于opencv实现人脸识别
Jan 04 Python
pandas 按日期范围筛选数据的实现
Feb 20 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
UCenter 批量添加用户的php代码
2012/07/17 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
PHP实现json_decode不转义中文的方法
2017/05/20 PHP
在laravel中使用Symfony的Crawler组件分析HTML
2017/06/19 PHP
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
JS滚轮事件onmousewheel使用介绍
2013/11/01 Javascript
代码分析jQuery四种静态方法使用
2015/07/23 Javascript
精通JavaScript的this关键字
2020/05/28 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
2016/11/30 Javascript
npm 语义版本控制详解
2019/09/10 Javascript
在LayUI图片上传中,解决由跨域问题引起的请求接口错误的方法
2019/09/24 Javascript
JavaScript实现下拉列表
2021/01/20 Javascript
[01:02:47]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
python构造icmp echo请求和实现网络探测器功能代码分享
2014/01/10 Python
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
2015/05/06 Python
Python程序退出方式小结
2017/12/09 Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
2018/06/20 Python
python入门:这篇文章带你直接学会python
2018/09/14 Python
浅谈Python中的bs4基础
2018/10/21 Python
Python 实现域名解析为ip的方法
2019/02/14 Python
python实现简单图片物体标注工具
2019/03/18 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
python 一维二维插值实例
2020/04/22 Python
Python3 搭建Qt5 环境的方法示例
2020/07/16 Python
python中Pexpect的工作流程实例讲解
2021/03/02 Python
迷你唐卡软皮鞋:Minnetonka Moccasin
2018/05/01 全球购物
数控专业个人求职信范例
2013/11/29 职场文书
运动会广播稿50字
2014/01/26 职场文书
业务员简历自我评价
2014/03/06 职场文书
企业宣传策划方案
2014/05/29 职场文书
会计岗位职责
2015/02/03 职场文书
使用CSS3实现按钮悬停闪烁动态特效代码
2021/08/30 HTML / CSS
使用python绘制横竖条形图
2022/04/21 Python
JAVA 线程池(池化技术)的实现原理
2022/04/28 Java/Android