5.1.6 tzinfo对象

类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  深圳

时间: 2024-10-12 23:53:50

5.1.6 tzinfo对象的相关文章

5.1.5 time对象

类time创建的对象表示本地时间,与任何特别日期没有关系.可以通过时区tzinfo来调整时间. class datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None) 所有参数都是可选的.除了tzinfo对象,其它参数都是整数表示.其中参数范围如下: l 0 <= hour < 24 l 0 <= minute < 60 l 0 <= second < 60 l 0 <= micros

Python之日期与时间处理模块(date和datetime)

本节内容 前言 相关术语的解释 时间的表现形式 time模块 datetime模块 时间格式码 总结 前言 在开发工作中,我们经常需要用到日期与时间,如: 作为日志信息的内容输出 计算某个功能的执行时间 用日期命名一个日志文件的名称 记录或展示某文章的发布或修改时间 其他 Python中提供了多个用于对日期和时间进行操作的内置模块:time模块.datetime模块和calendar模块.其中time模块是通过调用C库实现的,所以有些方法在某些平台上可能无法调用,但是其提供的大部分接口与C标准库

datetime模块官方tutorial

8.1 datetime-Basic date and time types 日期时间-基本的日期时间类型 Source code: Lib/datetime.py 源码:Lib/datetime.py The datetime module supplies classes for manipulating dates and times in both simple and complex ways.While date and time arithmetic is supported,th

《python参考手册(第四版)》【PDF】下载

<python参考手册(第四版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382222 内容介绍 本书是权威的Python语言参考指南,内容涉及核心Python语言和Python库的最重要部分.本书内容简洁扼要.可读性强,书中还包括了一些没有在Python官方文档或其他资料中出现过的一些高级的主题. 这一版在内容上进行了全面更新,介绍了Python 2.6和Python 3新引入的编程语言特性和库模块,同时还分析了Python程序

python 3 之日期与时间处理模块(date和datetime)

前言相关术语的解释时间的表现形式time模块datetime模块时间格式码总结前言 在开发工作中,我们经常需要用到日期与时间,如: 作为日志信息的内容输出计算某个功能的执行时间用日期命名一个日志文件的名称记录或展示某文章的发布或修改时间其他Python中提供了多个用于对日期和时间进行操作的内置模块:time模块.datetime模块和calendar模块.其中time模块是通过调用C库实现的,所以有些方法在某些平台上可能无法调用,但是其提供的大部分接口与C标准库time.h基本一致.time模块

datetime 模块详解 -- 基本的日期和时间类型

转自:https://www.cnblogs.com/fclbky/articles/4098204.html datetime 模块提供了各种类用于操作日期和时间,该模块侧重于高效率的格式化输出 在 Python 中,与时间处理有关的模块包括:time,datetime 以及 calendar datetime 模块定义了两个常量: datetime.MINYEAR - date 和 datetime 对象所能支持的最小年份,object.MINYEAR 的值为 1 datetime.MAXY

参考手册目录__第二部分

参考手册目录__第一部分 参考手册目录__第二部分 参考手册目录__第三部分 第二部分: python库------164 第 12 章: 内置函数和异常------164 12.1 内置函数和类型------172 12.2 内置异常------172 12.2.1 异常基类------173 12.2.2 预定义的异常类------173 12.3 内置警告------176 12.4 future_builtins------176 第 13 章: Python运行时的服务------17

转发-Python时间模块

Python之日期与时间处理模块(date和datetime) 本节内容 前言 相关术语的解释 时间的表现形式 time模块 datetime模块 时间格式码 总结 前言 在开发工作中,我们经常需要用到日期与时间,如: 作为日志信息的内容输出 计算某个功能的执行时间 用日期命名一个日志文件的名称 记录或展示某文章的发布或修改时间 其他 Python中提供了多个用于对日期和时间进行操作的内置模块:time模块.datetime模块和calendar模块.其中time模块是通过调用C库实现的,所以有

python datetime模块用法

python datetime模块用法 1. 创建naive(无时区信息)的datetime对象 import datetime dt_utc = datetime.datetime.utcnow() dt_utc # datetime.datetime(2019, 2, 1, 10, 53, 34, 145034) dt_utc.tzinfo # None dt_local = datetime.datetime.now() dt_local.tzinfo # None # tzinfo为No