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之入门(三)序列
May 25 Python
python使用paramiko实现远程拷贝文件的方法
Apr 18 Python
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
Jul 04 Python
详解Python3中字符串中的数字提取方法
Jan 14 Python
windows下python安装pip图文教程
May 25 Python
Python正则表达式指南 推荐
Oct 09 Python
python中退出多层循环的方法
Nov 27 Python
python制作图片缩略图
Apr 30 Python
python创建属于自己的单词词库 便于背单词
Jul 30 Python
基于Django框架的权限组件rbac实例讲解
Aug 31 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
Jan 22 Python
Django静态资源部署404问题解决方案
May 11 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通过插入mysql数据来实现多机互锁实例
2014/11/05 PHP
分享Javascript中最常用的55个经典小技巧
2013/11/29 Javascript
jQuery过滤选择器:not()方法使用介绍
2014/04/20 Javascript
JavaScript中的依赖注入详解
2015/03/18 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
jQuery 选择器(61种)整理总结
2016/09/26 Javascript
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
Vue2.0用户权限控制解决方案的示例
2018/02/10 Javascript
angular使用md5,CryptoJS des加密的方法
2019/06/03 Javascript
JS防抖和节流实例解析
2019/09/24 Javascript
基于elementUI竖向表格、和并列的案例
2020/10/26 Javascript
python批量修改文件名的实现代码
2014/09/01 Python
解决python文件字符串转列表时遇到空行的问题
2017/07/09 Python
Python利用turtle库绘制彩虹代码示例
2017/12/20 Python
Django数据库表反向生成实例解析
2018/02/06 Python
python2.7安装图文教程
2018/03/13 Python
浅谈python的输入输出,注释,基本数据类型
2019/04/02 Python
Python实现EXCEL表格的排序功能示例
2019/06/25 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
Python应用实现双指数函数及拟合代码实例
2020/06/19 Python
python可以用哪些数据库
2020/06/22 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
2020/11/29 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
2020/12/15 Python
资生堂美国官网:Shiseido美国
2016/09/02 全球购物
财务副总经理工作职责
2013/11/25 职场文书
煤矿班组长的职责
2013/12/25 职场文书
矫正人员思想汇报
2014/01/08 职场文书
户外活动总结范文
2014/04/30 职场文书
歌唱比赛策划方案
2014/06/06 职场文书
应届生面试求职信
2014/07/02 职场文书
个人四风问题整改措施
2014/10/24 职场文书
学校禁毒宣传活动总结
2015/05/08 职场文书
2015年基建工作总结范文
2015/05/23 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
幼儿园教师教学反思
2016/03/02 职场文书