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绘图库Matplotlib的安装
Jul 03 Python
基于hashlib模块--加密(详解)
Jun 21 Python
Python实现生成随机日期字符串的方法示例
Dec 25 Python
对python 合并 累加两个dict的实例详解
Jan 21 Python
深入浅析python 协程与go协程的区别
May 09 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
May 15 Python
python celery分布式任务队列的使用详解
Jul 08 Python
python3实现微型的web服务器
Sep 03 Python
新年福利来一波之Python轻松集齐五福(demo)
Jan 20 Python
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
Jul 03 Python
Python获取指定网段正在使用的IP
Dec 14 Python
python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
May 25 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之第一天
2006/10/09 PHP
php防注
2007/01/15 PHP
PHP的SQL注入过程分析
2012/01/06 PHP
php中jpgraph类库的使用介绍
2013/08/08 PHP
php实现最简单的MVC框架实例教程
2014/09/08 PHP
PHP集成百度Ueditor 1.4.3
2014/11/23 PHP
总结的一些PHP开发中的tips(必看篇)
2017/03/24 PHP
详解Yii2 之 生成 URL 的方法
2017/06/16 PHP
PHP安装BCMath扩展的方法
2019/02/13 PHP
laravel邮件发送的实现代码示例
2020/01/31 PHP
修复IE9&safari 的sort方法
2011/10/21 Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
2014/01/14 Javascript
使用jquery解析XML示例代码
2014/09/05 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
一张Web前端的思维导图分享
2015/07/03 Javascript
浅谈Javascript中的Label语句
2016/12/14 Javascript
用原生js做单页应用
2017/01/17 Javascript
详解Angular4 路由设置相关
2017/08/26 Javascript
node+express+ejs使用模版引擎做的一个示例demo
2017/09/18 Javascript
vue基础之data存储数据及v-for循环用法示例
2019/03/08 Javascript
JS扁平化输出数组的2种方法解析
2019/09/17 Javascript
python实现用户答题功能
2018/01/17 Python
python实现简单井字棋游戏
2020/03/04 Python
python实现交并比IOU教程
2020/04/16 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
2020/04/23 Python
python如何爬取网页中的文字
2020/07/28 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
用python读取xlsx文件
2020/12/17 Python
CSS3使用transition实现的鼠标悬停淡入淡出
2015/01/09 HTML / CSS
印度尼西亚最好的小工具在线商店:Erafone.com
2019/03/26 全球购物
本科生个人求职自荐信
2013/09/26 职场文书
迎新晚会策划方案
2014/06/13 职场文书
教师师德师风自我剖析材料
2014/09/29 职场文书
银行求职信范文
2019/05/13 职场文书
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python