纯python处理时区的转换
来源:互联网 发布:淘宝联盟里的优惠卷 编辑:程序博客网 时间:2024/05/01 13:54
http://blog.csdn.net/niyingxunzong/article/details/12978639
首先要明白python的datetime对象有两种类型,而Python的datetime可以处理2种类型的时间,分别为offset-naive和offset-aware。前者是指没有包含时区信息的时间,后者是指包含时区信息的时间,只有同类型的时间才能进行减法运算和比较。
#-*- coding=cp936 -*-from datetime import timedelta,tzinfoimport datetimeZERO_TIME_DELTA = timedelta(0)LOCAL_TIME_DELTA = timedelta(hours=8) # 本地时区偏差class UTC(tzinfo): """实现了格林威治的tzinfo类""" def utcoffset(self, dt): return ZERO_TIME_DELTA def dst(self, dt): return ZERO_TIME_DELTAclass LocalTimezone(tzinfo): """实现北京时间的类""" def utcoffset(self, dt): return LOCAL_TIME_DELTA def dst(self, dt): return ZERO_TIME_DELTA def tzname(self, dt): #tzname需要返回时区名 return '+08:00'print datetime.datetime.now(UTC()) #UTC时间 差八个小时print datetime.datetime.now(LocalTimezone()) #根据本地 时区 生成offset-aware类的datetime对象print type(datetime.datetime.now(LocalTimezone()))print datetime.datetime.now() #北京时间 一旦生成了一个offset-naive类型的datetime对象print datetime.datetime.now().replace(tzinfo=UTC()) # 调用replace(tzinfo=UTC())即可转换成offset-aware类型print datetime.datetime.now().replace(tzinfo=LocalTimezone()).astimezone(UTC()) #时区转换,print '----------------------------------------------'print datetime.datetime.utcnow()#讲一个 已知时区的datetime类转换成UTC()的日期datetime_test = datetime.datetime(2013,10,23,20,44,11).replace(tzinfo=LocalTimezone()).astimezone(UTC())print datetime_testprint '---------------------------------'
结果:
2014-02-19 07:38:07.328000+00:00
2014-02-19 15:38:07.328000+08:00
<type 'datetime.datetime'>
2014-02-19 15:38:07.328000
2014-02-19 15:38:07.328000+00:00
2014-02-19 07:38:07.328000+00:00
----------------------------------------------
2014-02-19 07:38:07.328000
2013-10-23 12:44:11+00:00
---------------------------------
0 0
- 纯python处理时区的转换
- Python datetime 模块处理时区的转换
- python处理datetime类型的时区转换
- python的时区处理
- Java中处理时区的转换
- Java中处理时区的转换
- python datatime 时区转换
- Python时区转换
- Python时区转换
- Python中的时区处理
- python时区处理
- python 不同时区之间的差值与转换
- 转换当前的时区到北京时区
- 时区间时间的转换
- Joda转换时区的坑
- 时区的历史和转换
- Python次位面——时区转换
- java处理时区的注意事项
- 初入python
- 消息队列
- 浅谈RPG核心系统
- 我的第一篇文章----读书笔记开始啦
- xcode5编译过的xib 如何在xcode4.6下打开
- 纯python处理时区的转换
- C++错误unresolved external symbol _WinMain@16
- 编写 windbg 扩展
- 大学那会儿,我读过的技术经典图书
- 开发框架——横版格斗——8.虚拟键盘实现
- 关于TableView中出现deallocated问题
- eclipse下window里没有AVD
- 关于jsp中tr鼠标移动变色,有底色如何变色
- uploadify上传出错信息自定义内容