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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章