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分析git log日志示例
Feb 27 Python
在Python程序中实现分布式进程的教程
Apr 28 Python
Python使用Redis实现作业调度系统(超简单)
Mar 22 Python
用Python设计一个经典小游戏
May 15 Python
python 中字典嵌套列表的方法
Jul 03 Python
Python两个字典键同值相加的几种方法
Mar 05 Python
pyQT5 实现窗体之间传值的示例
Jun 20 Python
python单例模式的多种实现方法
Jul 26 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
May 18 Python
快速了解Python开发环境Spyder
Jun 29 Python
python简单实现9宫格图片实例
Sep 03 Python
Python语言内置数据类型
Feb 24 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
修改WordPress中文章编辑器的样式的方法详解
2015/12/15 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
JQuery包裹DOM节点的方法
2015/06/11 Javascript
浅析BootStrap栅格系统
2016/06/07 Javascript
微信小程序 Video API实例详解
2016/10/02 Javascript
SelecT下拉框选中和取值的解决方法
2016/11/22 Javascript
浅述Javascript的外部对象
2016/12/07 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
easyui combogrid实现本地模糊搜索过滤多列
2017/05/13 Javascript
Vue filter介绍及详细使用
2018/04/04 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
JS实现盒子跟着鼠标移动及键盘方向键控制盒子移动效果示例
2019/01/29 Javascript
JavaScript实现秒杀时钟倒计时
2019/09/29 Javascript
关于在LayUI中使用AJAX提交巨坑记录
2019/10/25 Javascript
vue 实现走马灯效果
2019/10/28 Javascript
[49:13]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第一局
2016/02/27 DOTA
Python采集腾讯新闻实例
2014/07/10 Python
python处理html转义字符的方法详解
2016/07/01 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
2017/08/08 Python
用Python登录好友QQ空间点赞的示例代码
2017/11/04 Python
Centos7 下安装最新的python3.8
2019/10/28 Python
django 中使用DateTime常用的时间查询方式
2019/12/03 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
ALDO加拿大官网:加拿大女鞋品牌
2018/12/22 全球购物
电子商务自荐书范文
2014/01/04 职场文书
机电一体化应届生求职信范文
2014/01/24 职场文书
法学毕业生自我鉴定
2014/01/31 职场文书
2014年三八妇女节活动总结
2014/03/01 职场文书
春节联欢晚会主持词
2014/03/24 职场文书
学校读书活动总结
2014/06/30 职场文书
给老婆的检讨书1000字
2015/01/01 职场文书
2015年公司保安年终工作总结
2015/05/14 职场文书
员工加薪申请报告
2015/05/15 职场文书
浅谈MySQL user权限表
2021/06/18 MySQL
Python中requests库的用法详解
2022/06/05 Python