datetime模块提供了以简单和复杂的方式操作日期和时间的类。虽然支持日期和时间算法,但实现的重点是有效的属性提取,用于输出格式和操作。有关相关功能,另请参阅 timecalendar模块。

日期和时间对象有两种:“天真”和“意识”。

知晓对象具有足够的适用算法和政治时间调整知识,例如时区和夏令时信息,以相对于其他知晓对象定位自身。知觉对象用于表示不对解释开放的特定时刻。

一个天真的对象不包含足够的信息来明确地相对于其他日期/时间对象定位自己。天真物体是代表协调世界时(UTC),当地时间还是某个其他时区的时间完全取决于程序,就像程序一样,特定数字代表米,英里或质量。天真的物体易于理解和使用,代价是忽略了现实的某些方面。

对于需要知道对象的应用程序,datetime并且time 对象具有可选的时区信息属性,tzinfo可以将其设置为抽象tzinfo类的子类的实例。这些tzinfo对象捕获有关UTC时间偏移量,时区名称以及夏令时是否生效的信息。请注意,模块仅提供一个具体tzinfo类,即timezonedatetime。该timezoneclass可以表示具有与UTC固定偏移的简单时区,例如UTC本身或北美EST和EDT时区。在更深层次的细节上支持时区取决于应用程序。世界各地的时间调整规则更具政治性而非理性,经常变化,除了UTC之外,没有适用于每种应用的标准。

datetime模块导出以下常量:

datetime.MINYEAR
一个date或一个datetime对象中允许的最小年份数。 MINYEAR1
datetime.MAXYEAR
一个date或一个datetime对象中允许的最大年份数。 MAXYEAR9999

也可以看看

模 calendar
一般日历相关功能。
模 time
时间访问和转换。

可用类型

class datetime.date
一个理想化的天真日期,假设当前的公历始终是,并且始终是有效的。属性:yearmonth,和 day
class datetime.time
一个理想化的时间,独立于任何特定的日子,假设每天都有24 * 60 * 60秒(这里没有“闰秒”的概念)。属性:hourminutesecondmicrosecond,和tzinfo
class datetime.datetime
日期和时间的组合。属性:yearmonth, dayhourminutesecondmicrosecond,和tzinfo
class datetime.timedelta
表达两者之间的差异的持续时间datetimedatetime实例微秒的分辨率。
class datetime.tzinfo
时区信息对象的抽象基类。这些 datetimetime类用于提供可定制的时间调整概念(例如,考虑时区和/或夏令时)。
class datetime.timezone
tzinfo抽象基类实现为与UTC的固定偏移量的类。

版本3.2中的新功能。

这些类型的对象是不可变的。

这种date类型的对象总是天真的。

类型的对象timedatetime可能是天真的或意识到的。一个datetime对象d意识到,如果d.tzinfoNoned.tzinfo.utcoffset(d)不返回None。如果d.tzinfo是 None,或者如果d.tzinfo不是,Noned.tzinfo.utcoffset(d) 返回Noned是天真的。一个time对象牛逼意识到,如果t.tzinfoNonet.tzinfo.utcoffset(None)不返回 None。否则,牛逼是幼稚的。

天真和意识之间的区别不适用于timedelta 对象。

子类关系:

object
    timedelta
    tzinfo
        timezone
    time
    date
        datetime