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字符串排序方法
Aug 29 Python
Python字符串、元组、列表、字典互相转换的方法
Jan 23 Python
python机器学习理论与实战(一)K近邻法
Jan 28 Python
Python Numpy 数组的初始化和基本操作
Mar 13 Python
在Python中调用Ping命令,批量IP的方法
Jan 26 Python
Python3 log10()函数简单用法
Feb 19 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
Mar 05 Python
django框架基于queryset和双下划线的跨表查询操作详解
Dec 11 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
Dec 22 Python
Python3.6 中的pyinstaller安装和使用教程
Mar 16 Python
Keras设置以及获取权重的实现
Jun 19 Python
Python通过len函数返回对象长度
Oct 22 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 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
我见过最全的个人js加解密功能页面
2007/12/12 Javascript
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
javascript图像处理—仿射变换深度理解
2013/01/16 Javascript
浅谈JavaScript中定义变量时有无var声明的区别
2014/08/18 Javascript
JavaScript设计模式之建造者模式介绍
2014/12/28 Javascript
用canvas 实现个图片三角化(LOW POLY)效果
2016/02/18 Javascript
Javascript函数中的arguments.callee用法实例分析
2016/09/16 Javascript
微信小程序中实现一对多发消息详解及实例代码
2017/02/14 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
Postman的下载及安装教程详解
2018/10/16 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
2019/01/18 jQuery
Vue使用NProgress的操作过程解析
2019/10/10 Javascript
学习 Vue.js 遇到的那些坑
2021/02/02 Vue.js
使用webpack和rollup打包组件库的方法
2021/02/25 Javascript
ssh批量登录并执行命令的python实现代码
2012/05/25 Python
python 获取本机ip地址的两个方法
2013/02/25 Python
python元组操作实例解析
2014/09/23 Python
python实现发送邮件功能
2017/07/22 Python
Python 操作文件的基本方法总结
2017/08/10 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
Python之批量创建文件的实例讲解
2018/05/10 Python
django admin组件使用方法详解
2019/07/19 Python
使用python telnetlib批量备份交换机配置的方法
2019/07/25 Python
如何导出python安装的所有模块名称和版本号到文件中
2020/06/05 Python
python pyg2plot的原理知识点总结
2021/02/28 Python
amazeui树节点自动展开折叠面板并选中第一个树节点的实现
2020/08/24 HTML / CSS
英国折扣零售连锁店:QD Stores
2018/12/08 全球购物
全球最受追捧的运动服品牌领先数字目的地:Stylerunner
2020/11/25 全球购物
公司会计主管岗位责任制
2014/03/01 职场文书
2015年秋季运动会广播稿
2015/08/19 职场文书
python process模块的使用简介
2021/05/14 Python
Spring Boot 实现敏感词及特殊字符过滤处理
2021/06/29 Java/Android
python中redis包操作数据库的教程
2022/04/19 Python
Go gorilla securecookie库的安装使用详解
2022/08/14 Golang