datetime-基本日期和时间类型

文章来源:https://docs.python.org/3/library/datetime.html#module-datetime

datetime模块提供了简单和复杂的方式操作日期和时间类。虽然datetime支持日期和时间算法,但实现的重点是有效的属性提取,用于格式化输出和便于操作。

主要有两种日期和时间对象:‘navic’和‘aware’。

datetime中两个常量:

  • datetime.MINYEAR
    在date或者是datetime中允许存在的最小年份。

  • datetime.MAXYEAR
    在date或者是datetime中允许存在的最大年份。

类间的继承关系:
在这里插入图片描述
关于以上继承关系类的介绍,在官方文档中有较为消息的介绍。在这里,我懒了。。。
https://docs.python.org/3/library/datetime.html#module-datetime

1 timedelta Objects

timedelta对象表示的是持续时间,即两个日期之间的差异。

class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
'''
关于该类中的所有参数默认值都是0,可以是int/float类型的正数或者是负数。

在该类只会存储天,秒和微秒。参数的转换如下:
1毫秒=1000微秒	1 milliseconds = 1000 microseconds
1分钟=60秒	1 minute = 60 seconds
1周=7天		1 week = 7 days

关于毫秒、秒和天的取值范围

0 <= microseconds < 1000000

0 <= seconds < 3600*24 (the number of seconds in one day)

-999999999 <= days <= 999999999
'''

示例:

>>> from datetime import timedelta
>>> d = timedelta(microseconds =-1)
>>> d
datetime.timedelta(days=-1, seconds=86399, microseconds=999999)
>>> d.days
-1
>>> d.seconds
86399
>>> d.microseconds
999999

该类的属性:

  • timedelta.min
    The most negative timedelta object, timedelta(-999999999).
  • timedelta.max
    The most positive timedelta object, timedelta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999).
  • timedelta.resolution
    两个不等的timedelta对象的最小可能差异

关于该类的三个可读属性
在这里插入图片描述
所支持的时间操作:
在这里插入图片描述

instance methods

  • timedelta.total_seconds()
    计算总秒数
>>> year = timedelta(days=365)
>>> another_year = timedelta(weeks=40,days=84,hours=23,minutes=50,seconds = 600)
>>> year.total_seconds()
31536000.0
>>> year == another_year
True
>>> ten_years = 10 * year
>>> ten_years,ten_years.days//365
(datetime.timedelta(days=3650), 10)
>>> nine_years = ten_years - year
>>> nine_years,nine_years.days//365
(datetime.timedelta(days=3285), 9)
>>> three_years = nine_years // 3
>>> three_years,three_years.days//365
(datetime.timedelta(days=1095), 3)
>>> abs(three_years-ten_years)==2*three_years+year
True
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章