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 enumerate遍历数组示例应用
Sep 06 Python
Python的迭代器和生成器使用实例
Jan 14 Python
Python网络爬虫与信息提取(实例讲解)
Aug 29 Python
tensorflow学习笔记之mnist的卷积神经网络实例
Apr 15 Python
Python subprocess模块常见用法分析
Jun 12 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
Jan 11 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
Jul 05 Python
python关于调用函数外的变量实例
Dec 26 Python
python统计文章中单词出现次数实例
Feb 27 Python
在Tensorflow中实现leakyRelu操作详解(高效)
Jun 30 Python
python飞机大战游戏实例讲解
Dec 04 Python
Python列表删除重复元素与图像相似度判断及删除实例代码
May 07 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
从一个不错的留言本弄的mysql数据库操作类
2007/09/02 PHP
php+mysql写的简单留言本实例代码
2008/07/25 PHP
解析posix与perl标准的正则表达式区别
2013/06/17 PHP
php多层数组与对象的转换实例代码
2013/08/05 PHP
ThinkPHP查询中的魔术方法简述
2014/06/25 PHP
PHP+JavaScript实现无刷新上传图片
2017/02/21 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
来自chinaz的ajax获取评论代码
2008/05/03 Javascript
javascript 正则表达式相关应介绍
2012/11/27 Javascript
html+javascript实现可拖动可提交的弹出层对话框效果
2013/08/05 Javascript
jQuery代码性能优化的10种方法
2016/06/21 Javascript
jQuery简单注册和禁用全局事件的方法
2016/07/25 Javascript
js实现带三角符的手风琴效果
2017/03/01 Javascript
微信小程序 五星评价功能的实现
2017/03/09 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
2018/03/13 Javascript
JavaScript插入排序算法原理与实现方法示例
2018/08/06 Javascript
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2019/09/23 Javascript
关于vue路由缓存清除在main.js中的设置
2019/11/06 Javascript
python字典排序实例详解
2015/05/20 Python
python指定写入文件时的编码格式方法
2018/06/07 Python
python判断输入日期为第几天的实例
2018/11/13 Python
python利用thrift服务读取hbase数据的方法
2018/12/27 Python
djano一对一、多对多、分页实例代码
2019/08/16 Python
利用Python复制文件的9种方法总结
2019/09/02 Python
python之生成多层json结构的实现
2020/02/27 Python
宝拉珍选英国官网:Paula’s Choice英国
2019/05/29 全球购物
《童年》教学反思
2014/02/18 职场文书
遗体告别仪式主持词
2014/03/20 职场文书
房屋租赁意向书
2014/04/01 职场文书
检察院院长群众路线教育实践活动个人整改措施
2014/10/04 职场文书
旷课检讨书范文
2014/10/30 职场文书
2015年党风廉政建设个人总结
2015/08/18 职场文书
学校2016年全国助残日活动总结
2016/04/01 职场文书
解析redis hash应用场景和常用命令
2021/08/04 Redis
利用Sharding-Jdbc进行分库分表的操作代码
2022/01/22 Java/Android