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正则表达式re模块详解
Jun 25 Python
python中查看变量内存地址的方法
May 05 Python
python3.X 抓取火车票信息【修正版】
Jun 19 Python
Python 类的特殊成员解析
Jun 20 Python
浅析python中的迭代与迭代对象
Oct 08 Python
Python第三方Window模块文件的几种安装方法
Nov 22 Python
Python字符串逆序输出的实例讲解
Feb 16 Python
Python PIL读取的图像发生自动旋转的实现方法
Jul 05 Python
2021年值得向Python开发者推荐的VS Code扩展插件
Jan 25 Python
利用Python判断你的密码难度等级
Jun 02 Python
python 中的jieba分词库
Nov 23 Python
Python 的演示平台支持 WSGI 接口的应用
Apr 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
php 批量替换html标签的实例代码
2013/11/26 PHP
PHP中如何实现常用邮箱的基本判断
2014/01/07 PHP
PHP动态编译出现Cannot find autoconf的解决方法
2014/11/05 PHP
PHP中strtr字符串替换用法详解
2014/11/26 PHP
Yii的Srbac插件用法详解
2016/07/14 PHP
php中mkdir()函数的权限问题分析
2016/09/24 PHP
PHP去除字符串最后一个字符的三种方法实例
2017/03/01 PHP
原生javascript获取元素样式
2014/12/31 Javascript
JS实现可点击展开与关闭的左侧广告代码
2015/09/02 Javascript
JS onkeypress兼容性写法详解
2016/04/27 Javascript
用jquery获取自定义的标签属性的值简单实例
2016/09/17 Javascript
JavaScript对象封装的简单实现方法(3种方法)
2017/01/03 Javascript
react-router v4如何使用history控制路由跳转详解
2018/01/09 Javascript
Vue 引入AMap高德地图的实现代码
2019/04/29 Javascript
JS事件流与事件处理程序实例分析
2019/08/16 Javascript
IntelliJ IDEA编辑器配置vue高亮显示
2019/09/26 Javascript
vue表单中遍历表单操作按钮的显示隐藏示例
2019/10/30 Javascript
layui 弹出层值回传解决方式
2019/11/14 Javascript
10种检测Python程序运行时间、CPU和内存占用的方法
2015/04/01 Python
Python基于DES算法加密解密实例
2015/06/03 Python
让Django支持Sql Server作后端数据库的方法
2018/05/29 Python
python3 enum模块的应用实例详解
2019/08/12 Python
pygame实现成语填空游戏
2019/10/29 Python
Python 中判断列表是否为空的方法
2019/11/24 Python
Django多数据库联用实现方法解析
2020/11/12 Python
使用python爬取抖音app视频的实例代码
2020/12/01 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
2020/12/11 Python
CSS3 Calc实现滚动条出现页面不跳动问题
2017/09/14 HTML / CSS
Delphi CS笔试题
2014/01/04 面试题
个人自我鉴定范文
2013/10/04 职场文书
竞争性谈判邀请书
2014/02/06 职场文书
舞蹈专业大学生职业规划范文
2014/03/12 职场文书
课前三分钟演讲稿
2014/04/24 职场文书
建筑施工安全生产责任书
2014/07/22 职场文书
jquery插件实现代码雨特效
2021/04/24 jQuery
Java生成日期时间存入Mysql数据库的实现方法
2022/03/03 Java/Android