1、datetime模組:日期包含年、月、日、小時、分鐘、秒和微秒。datetime 模組有許多方法可以返回有關日期物件的資訊。一般操作就是獲取時間是哪年哪月什麼時間端,處於那個時區範圍,幾個操作時間之間的間隔是多少等等。
2、datetime模組定義了5個類:
序號
類
含義
1
datetime。datetime
表示日期時間的類
2
datetime。timedelta
表示時間間隔,即兩個時間點的間隔
3
datetime。date
表示日期的類
4
datetime。time
表示時間的類
5
datetime。tzinfo
時區的相關資訊
其中:1完全可以理解時3和4的整合。
x_today = datetime。datetime。today() # 當前本地時間的datetime物件
print(x_today)
# 結果顯示2021-11-12 19:14:53。984157
x = datetime。datetime。now() # 獲取當前本地時間的datetime物件,如果提供了引數tz,則獲取tz引數所指時區的本地時間
print(x)
# 結果顯示2021-11-12 19:14:53。984157
x_utcnow = datetime。datetime。utcnow() # 當前utc時間的datetime物件
print(x_utcnow)
# 結果顯示2021-11-12 14:22:44。318067
x_utcTStamp = datetime。datetime。utcfromtimestamp(2021 - 11 - 12 - 22 - 9 - 24) # 根據時間戮建立一個datetime物件
print(x_utcTStamp)
# 結果顯示1970-01-01 00:32:23
print(x。date()) # 獲取當前日期
# 結果顯示2021-11-12
print(x。year) # 獲取當前日期——年份
# 結果顯示2021
print(x。month) # 獲取當前日期——月份
# 結果顯示11
print(x。day) # 獲取當前日期——那一天
# 結果顯示12
print(x。hour) # 獲取當前日期——小時
# 結果顯示19
print(x。minute) # 獲取當前日期——分鐘
# 結果顯示14
print(x。second) # 獲取當前日期——秒
# 結果顯示53
print(x。microsecond) # 獲取當前日期——微秒
# 結果顯示984157
print(x。tzinfo)
# 結果顯示None
print(x。now()) # 獲取當前時間
# 結果顯示2021-11-12 19:14:53。984157
print(x。isocalendar()) # 獲取當前(年份、週數、工作日)的元組
# 結果顯示(2021, 45, 5)
print(x。time()) # 獲取當前時間-時:分:秒
# 結果顯示19:14:53。984157
print(x。weekday())
# 結果顯示4
print(x。isoweekday()) # 獲取當前工作日-星期幾
# 結果顯示5
print(x。max) # 獲取最大日期時間
# 結果顯示9999-12-31 23:59:59。999999
print(x。min) # 獲取最小日期時間
# 結果顯示0001-01-01 00:00:00
print(x。resolution) # 獲取日期時間的最小單位
# 結果顯示0:00:00。000001
print(x。timetuple()) # 返回日期對應的time。struct_time物件
# 結果顯示time。struct_time(tm_year=2021, tm_mon=11, tm_mday=13, tm_hour=10, tm_min=16, tm_sec=33, tm_wday=5, tm_yday=317, tm_isdst=-1)
print(x。utctimetuple()) # 返回日期對應utc的time。struct_time物件
# 結果顯示time。struct_time(tm_year=2021, tm_mon=11, tm_mday=13, tm_hour=10, tm_min=17, tm_sec=46, tm_wday=5, tm_yday=317, tm_isdst=0)
print(x。toordinal())
# 結果顯示738107
print(x。isoformat()) # 返回根據 ISO 格式化的時間
# 結果顯示2021-11-13T10:23:57。006094
print(x。ctime()) #返回一個日期時間的C格式字串,等效於time。ctime(time。mktime(dt。timetuple()))
# 結果顯示Sat Nov 13 10:26:04 2021
print(x。strftime(‘%S-%M-%H %d-%m-%Y’)) #返回自定義格式化字串
# 結果顯示31-30-10 13-11-2021
x2 = datetime。date。today() # 返回一個表示當前本地日期的date物件
print(x2)
# 結果顯示2021-11-12
print(x2。year) # 獲取最大日期範圍
# 結果顯示2021
print(x2。month) # 獲取最大日期範圍
# 結果顯示11
print(x2。day) # 獲取最大日期範圍
# 結果顯示12
print(x2。weekday()) # 獲取當前工作日-星期幾
# 結果顯示4
print(x2。isoweekday()) # 獲取當前工作日-星期幾
# 結果顯示5
print(x2。isocalendar()) # 獲取當前(年份、週數、工作日)的元組
# 結果顯示(2021, 45, 5)
print(x2。isoformat()) # 返回格式如‘YYYY-MM-DD’的字串
# 結果顯示2021-11-12
print(x2。strftime(’%Y——%m——%d‘)) # 自定義格式化字串
# 結果顯示2021——11——12
print(x2。max) # 獲取最大日期範圍
# 結果顯示9999-12-31
print(x2。min) # 獲取最小日期範圍
# 結果顯示0001-01-01
print(x2。resolution) # 日期的最小單位——天
# 結果顯示1 day, 0:00:00
x2x = x2。replace(2035,10,10) # 生成一個新的日期物件,用引數指定的年,月,日代替原有物件中的屬性。(原有物件仍保持不變)
print(x2x)
# 結果顯示2035-10-10
print(x2)
# 結果顯示2021-11-12
print(x2x。toordinal()) # 返回日期對應的Gregorian Calendar日期
# 結果顯示743186
x_time = x2。timetuple() # 返回日期對應的time。struct_time物件
print(x_time)
# 結果顯示time。struct_time(tm_year=2021, tm_mon=11, tm_mday=13, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=317, tm_isdst=-1)
print(x_time[1])
# 結果顯示11
x4 = datetime。time(12, 23, 34, tzinfo=None)
print(x4) # 獲取指定時間類物件
# 結果顯示12:23:34
print(x4。hour)
# 結果顯示12
print(x4。minute)
# 結果顯示23
print(x4。second)
# 結果顯示34
print(x4。microsecond)
# 結果顯示0
print(x4。tzinfo) # 獲取時區資訊
# 顯示結果None
print(x4。tzname()) # 返回時區名稱
# 顯示結果None
print(x4。min) # 獲取時間類範圍內的——最小時間
# 結果顯示00:00:00
print(x4。max) # 獲取時間類範圍內的——最大時間
# 結果顯示23:59:59。999999
print(x4。resolution) # 獲取時間的最小單位為1微秒
# 結果顯示0:00:00。000001
print(x4。isoformat()) # 返回型如“HH:MM:SS”格式的字串表示
# 結果顯示12:23:34
print(x4。strftime(’%S-%M-%H‘)) # 返回自定義格式化字串
# 結果顯示34-23-12
x4X = datetime。time。replace(x4, 15, 12, 46) # 建立一個新的時間物件,用引數指定的時、分、秒、微秒代替原有物件中的屬性(原有物件仍保持不變);
print(x4X)
# 結果顯示15:12:46
print(x4)
# 結果顯示12:23:34
datetime class timedelta(SupportsAbs[timedelta])表示兩個日期時間物件之間的差異(時間間隔)。支援的加減時間增量,加、減、abs與時間增量比較,乘以除以int此外,datetime 支援兩個 datetime 物件的相減返回一個 timedelta,以及一個 datetime 和一個timedelta 的相加或相減給出一個datetime。
x5 = datetime。timedelta(minutes=3。0)
print(x5)
# 結果顯示0:03:00
x5x = x_today - x_utcnow #兩個 datetime 物件的相減返回一個 timedelta
print(x_today)
# 結果顯示2021-11-13 10:44:10。671427
print(x_utcnow)
# 結果顯示2021-11-13 02:44:10。671427
print(x5x)
# 結果顯示8:00:00
x5x_x = x_today + x5x + x5x + x5x
print(x5x_x)
# 結果顯示2021-11-14 12:48:36。736688
print(datetime。MAXYEAR) # 獲取最大年份
# 結果顯示9999
print(datetime。MINYEAR) # 獲取最小年份
# 結果顯示0001
datetime class tzinfo時區資訊類的抽象基類。這是一個抽象基類,也就是說該類不應被直接例項化。 請定義 tzinfo 的子類來捕獲有關特定時區的資訊。
子類必須覆蓋 name()、utcoffset() 和 dst() 方法。
# datetime 模組提供了 timezone,這是 tzinfo 的一個簡單實體子類
print(datetime。timezone。max)
# 結果顯示UTC+23:59
print(datetime。timezone。min)
# 結果顯示UTC-23:59
print(datetime。timezone。utc)
# 結果顯示UTC
3、日期格式程式碼如下:
%a Weekday,短版本
%A Weekday,完整版本
%w Weekday,數字 0-6,0 為週日
%d 日,數字 01-31
%b 月名稱,短版本
%B 月名稱,完整版本
%m 月,數字01-12
%y 年,短版本,無世紀
%Y 年,完整版本
%H 小時,00-23
%I 小時,00-12
%p AM/PM
%M 分,00-59
%S 秒,00-59
%f 微妙,000000-999999
%z UTC 偏移
%Z 時區
%j 天數,001-366
%U 週數,每週的第一天是週日,00-53
%W 週數,每週的第一天是週一,00-53
%c 日期和時間的本地版本
%x 日期的本地版本
%X 時間的本地版本
%% A % character
希望以上的總結對你有幫助!!!