5.1.6 tzinfo对象
来源:互联网 发布:winscp连接linux被拒绝 编辑:程序博客网 时间:2024/06/05 00:42
类tzinfo是抽象基类,不能直接实例化。因此需要创建一个派生类,并且至少实现三个方法,才可以使用。在timezone里已经实现北美的EST和EDT时区的时间。
tzinfo的实例可以传送给datetime对象和time对象,以便指定特定的时区。tzinfo对象主要用来表示与UTC时间差距,以及时区的名称,夏时制的相对时间。
一个派生类应实现下面的方法:
tzinfo.utcoffset(dt)
返回当地时间与UTC时间的差距。如果时区在UTC的西边,应采用负数来表示。这里值得注意的是:当有夏时制时,可以直接在这里把时区时间差和夏时制的时间差加到一起返回来。比如:
return CONSTANT # fixed-offset class
return CONSTANT + self.dst(dt) # daylight-aware class
并且当utcoffset不返回None时,dst()也不应返回None。
tzinfo.dst(dt)
返回夏时制的时间调整差值。如果夏时制没有效,返回timedelta(0)。如果夏时制有效,按utcoffset()格式返回。一般情况下,都是把夏时制的时间差放在utcoffset里一起返回,除非你想区分时区的时间差和夏时制的时间差。例如:
def dst(self, dt):
# a fixed-offset class: doesn't account for DST
return timedelta(0)
或者
def dst(self, dt):
# Code to set dston and dstoff to the time zone's DST
# transition times based on the input dt.year, and expressed
# in standard local time. Then
if dston <= dt.replace(tzinfo=None) < dstoff:
return timedelta(hours=1)
else:
return timedelta(0)
tzinfo.tzname(dt)
返回时区的名称字符串。返回的格式可以这样:“GMT”, “UTC”, “-500”, “-5:00”, “EDT”, “US/Eastern”, “America/New York”。
上面这三个方法,实现之后都由datetime或time对象进行调用,是最基本的方法,下面学习另外一些方法,不是必须实现的。
蔡军生 QQ:9073204 深圳
- 5.1.6 tzinfo对象
- spark程序报错 unicode object has no attitube tzinfo
- rails generate rspec:install总报/lib/tzinfo/data_source.rb:182:in `rescue in create_default_data_sourc
- VBS基础篇 - 对象(6) - Folder对象
- 5.1.2 timedelta对象
- 5.1.3 date对象
- 5.1.4 datetime对象
- 5.1.5 time对象
- 5.1.7 timezone对象
- C++对象模型(6)
- 对象内存布局 (6)
- 面向对象基础6
- php面向对象6
- php面向对象6
- 6、JSP内置对象
- 对象内存布局 (6)
- 对象内存布局 (6)
- Chapter 6面向对象
- udp打洞,c++实现,Nat
- 133 You want to enable automatic PGA memory management in your database. Which setting is required t
- 内核阅读之浅析Linux2.6.34内核桥接数据转发(三)
- Android控件之AlertDialog-自定义对话框
- 图的深度优先搜索-临接矩阵实现
- 5.1.6 tzinfo对象
- 命令行下的树形打印 http://www.cnblogs.com/fanzhidongyzby/p/3475850.html
- 算法导论 9.3-8 求两个数组的中位数
- 对DirectSound的介绍和多种功能的源代码
- C语言实现链表
- 本人对Oracle Order Manager模块的一些了解
- 火狐浏览器怎样设置才能看手机网址
- python 之运维
- HDU 5207 Greatest Greatest Common Divisor