基本日期和时间类型的可用模块类型与关系(20) – Python语言(必读进阶学习教程)(参考资料)
该datetime
模块提供了以简单和复杂的方式操作日期和时间的类。虽然支持日期和时间算法,但实现的重点是有效的属性提取,用于输出格式和操作。有关相关功能,另请参阅 time
和calendar
模块。
日期和时间对象有两种:“天真”和“意识”。
知晓对象具有足够的适用算法和政治时间调整知识,例如时区和夏令时信息,以相对于其他知晓对象定位自身。知觉对象用于表示不对解释开放的特定时刻。
一个天真的对象不包含足够的信息来明确地相对于其他日期/时间对象定位自己。天真物体是代表协调世界时(UTC),当地时间还是某个其他时区的时间完全取决于程序,就像程序一样,特定数字代表米,英里或质量。天真的物体易于理解和使用,代价是忽略了现实的某些方面。
对于需要知道对象的应用程序,datetime
并且time
对象具有可选的时区信息属性,tzinfo
可以将其设置为抽象tzinfo
类的子类的实例。这些tzinfo
对象捕获有关UTC时间偏移量,时区名称以及夏令时是否生效的信息。请注意,模块仅提供一个具体tzinfo
类,即timezone
类datetime
。该timezone
class可以表示具有与UTC固定偏移的简单时区,例如UTC本身或北美EST和EDT时区。在更深层次的细节上支持时区取决于应用程序。世界各地的时间调整规则更具政治性而非理性,经常变化,除了UTC之外,没有适用于每种应用的标准。
该datetime
模块导出以下常量:
datetime.
MINYEAR
- 一个
date
或一个datetime
对象中允许的最小年份数。MINYEAR
是1
。
datetime.
MAXYEAR
- 一个
date
或一个datetime
对象中允许的最大年份数。MAXYEAR
是9999
。
也可以看看
- 模
calendar
- 一般日历相关功能。
- 模
time
- 时间访问和转换。
可用类型
- class
datetime.
date
- 一个理想化的天真日期,假设当前的公历始终是,并且始终是有效的。属性:
year
,month
,和day
。
- class
datetime.
time
- 一个理想化的时间,独立于任何特定的日子,假设每天都有24 * 60 * 60秒(这里没有“闰秒”的概念)。属性:
hour
,minute
,second
,microsecond
,和tzinfo
。
- class
datetime.
datetime
- 日期和时间的组合。属性:
year
,month
,day
,hour
,minute
,second
,microsecond
,和tzinfo
。
- class
datetime.
timedelta
- 表达两者之间的差异的持续时间
date
,time
或datetime
实例微秒的分辨率。
- class
datetime.
tzinfo
- 时区信息对象的抽象基类。这些
datetime
和time
类用于提供可定制的时间调整概念(例如,考虑时区和/或夏令时)。
- class
datetime.
timezone
- 将
tzinfo
抽象基类实现为与UTC的固定偏移量的类。版本3.2中的新功能。
这些类型的对象是不可变的。
这种date
类型的对象总是天真的。
类型的对象time
或datetime
可能是天真的或意识到的。一个datetime
对象d意识到,如果d.tzinfo
不None
和d.tzinfo.utcoffset(d)
不返回None
。如果d.tzinfo
是 None
,或者如果d.tzinfo
不是,None
但d.tzinfo.utcoffset(d)
返回None
,d是天真的。一个time
对象牛逼意识到,如果t.tzinfo
不None
和t.tzinfo.utcoffset(None)
不返回 None
。否则,牛逼是幼稚的。
天真和意识之间的区别不适用于timedelta
对象。
子类关系:
object
timedelta
tzinfo
timezone
time
date
datetime