Python处理带timezone的datetime类型
来源:互联网 发布:淘宝开店需要交保证金吗 编辑:程序博客网 时间:2024/06/05 02:08
在存储时间类型到数据库的时候,通常使用DateTime类型。使用DateTime类型就会遇到时区timezone的问题。为了能够处理timezone, 推荐存数据库的使用存入的是基于UTC的时间日期,在本地取用的时候在转成本地时间。
Python定义了抽象类tzinfo, 这个class不能直接使用。3.x版本(至少3.4, 3.5)定义了timezone class。但是这个timezone还是不如第三方pytz类好用。
还有一个问题就是如何得到本机的timezone。在time class里面可以得到一个time.timezone, 是一个基于秒的offset值。注意这个time不是datetime.time, 就是time,用于os相关的时间信息。不是很好用,推荐tzlocal库。
安装pytz和tzlocal
使用pip安装就可以了。
pip install pytzpip install tzlocal
- 1
- 2
如何使用
得到当前时间,用于数据的存储
from datetime import datetimet = datetime.utcnow()
- 1
- 2
已知本地时间,需要转成UTC时间用于存储
import pytzfrom tzlocal import get_localzonetz = get_localzone() #获得本地timezoneutc = pytz.utc #获得UTC timezonedt = datetime(2016, 6, 12, 5, 0, 0)loc_dt = tz.localize(dt) #将DateTime数据贴上timezoneutc_dt = loc_dt.astimezone(utc) #转换到新的timezone
- 1
- 2
- 3
- 4
- 5
- 6
- 7
已知UTC时间,转本地
import pytzfrom tzlocal import get_localzoneutc = pytz.utctz = get_localzone()t = datetime(x,x,x,x,x,x)utc_dt = utc.localize(t)loc_dt = utc_dt.astimezone(tz)
阅读全文
0 0
- Python处理带timezone的datetime类型
- Python处理带timezone的datetime类型
- python处理datetime类型的时区转换
- 解决Python自带的json序列化工具不能序列化datetime类型数据问题
- 关于Yii2 Datetime Formatter的timezone问题
- zt:python下datetime类型的转换
- python默认json库处理mysql中datetime,date类型不能序列化json的解决方案
- DateTime类型常用处理
- DateTime类型处理
- python使用json序列化datetime类型问题处理
- Python datetime 模块处理时区的转换
- django 中timezone的处理
- python datetime时间处理
- python datetime处理时间
- python datetime处理时间
- python datetime处理时间
- python datetime处理时间
- python datetime处理时间
- Android IM开发策略
- python time和datetime的常用转换处理
- Android表情的处理
- 初识 Mac机子 关机命令
- UEFI+GPT与BIOS+MBR各自有什么优缺点
- Python处理带timezone的datetime类型
- POJ1458---(最长公共子序列最基础题)
- eclipse不能运行Struts2项目
- trim 失效可能是圆角空格
- java 一个简单的学生信息管理系统
- spring数据格式化
- 解决Python2.7的UnicodeEncodeError: ‘ascii‘codec can’t encode异常错误
- 用qq邮箱做服务器发邮件失败,530 A secure connection is requiered(such as ssl)后解决方案如下
- 三级管