Python 時(shí)間操作datetime詳情(下)
復(fù)習(xí)回顧:datetime模塊

1. datetime.date 類
datetime.date 類定義的 date 對(duì)象代表日期(年月日如2021.10.30)
1.1datetime.date 類格式
class datetime.date(year,month,day)
參數(shù):不可缺省。如果參數(shù)不存在,則會(huì)拋出ValueError異常
- year參數(shù)取值范圍:[MINYEAR, MAXYEAR]
- month參數(shù)取值范圍:[1,12]
- day參數(shù)取值范圍:[1,給定年月對(duì)應(yīng)的天數(shù)]
1.2datetime.date類方法和屬性
| 類方法/屬性 | 作用 |
|---|---|
| date.max | date對(duì)象表示的最大日期,9999-12-31 |
| date.min | date對(duì)象表示的最小日期,0001-01-01 |
| date.resolution | date對(duì)象表示日期的最大單位,天 |
| date.today() | 獲取當(dāng)前本地日期 |
| date.fromtimestamp(timestamp) | 將時(shí)間戳轉(zhuǎn)換成日期 |
date對(duì)象方法和屬性
| 對(duì)象方法/屬性 | 作用 |
|---|---|
| d.year | 表示年 |
| d.month | 表示月 |
| d.day | 表示日 |
| d.replace(year,[,month,[,day]]) | 生成一個(gè)新的日期 |
| d.timetuple() | 返回日期對(duì)應(yīng)的結(jié)構(gòu)化對(duì)象 |
| d.toordinal() | 返回日期距離起始0001-01-01的第N天 |
| d.weekday() | 返回日期是星期幾,[0,6] 0代表是星期一 |
| d.isoweekday | 返回日期是星期幾,[1,7] 1代表是星期一 |
| d.isocalendar() | (year, weekday, isoweekday)形式的元組 |
| d.isoformat() | ‘YYYY-MM-DD'格式的日期字符串 |
| d.strftime(format) | 返回指定格式的日期字符串 |
import datetime
dat = datetime.date(2021,10,30)
print("datetime.date.today()類方法",datetime.date.today())
print("date對(duì)象year屬性:",dat.year)
print("date對(duì)象month屬性:",dat.month)
print("date對(duì)象day屬性:",dat.day)
print("date對(duì)象replace:",dat.replace(2022))
print("date對(duì)象timetuple:",dat.timetuple())
print("date對(duì)象weekday:",dat.weekday())
print("date對(duì)象isoweekday:",dat.isoweekday())
print("date對(duì)象isocalendar:",dat.isocalendar())
print("date對(duì)象isoformat:",dat.isoformat())
print("date對(duì)象strftime:",dat.strftime("%d-%m-%Y"))

2. datetime.time 類
datetime.time 類的對(duì)象表示某地某日的時(shí)間,獨(dú)立于任何特定日期,并且可以通過(guò)tzinfo對(duì)象來(lái)調(diào)整。
2.1datetime.time 類格式
class datetime.time(hour=0,minute=0, second=0,mircrosecond=0,tzinfo=Noe,*,fold=0 )
參數(shù):所有的參數(shù)都是可選的
- hour參數(shù)取值范圍:[0,23]
- minute參數(shù)取值范圍:[0,59]
- second參數(shù)取值范圍:[0,59]
- microsecond取值范圍:[0,1000000]
- tzinfo:可以是None,或者一個(gè)tzinfo子類實(shí)例
2.2datetime.time類方法和屬性
| 類方法/屬性 | 作用 |
|---|---|
| time.max | time類表示最大時(shí)間,time(23, 59, 59, 999999) |
| time.min | time類表示最小時(shí)間,time(0, 0, 0, 0) |
| time.resolution | 時(shí)間的最小單位,1微秒 |
2.3datetime.time類方法和屬性
| 實(shí)例方法/屬性 | 作用 |
|---|---|
| t.hour | 表示時(shí) |
| t.minute | 表示分 |
| t.second | 表示秒 |
| t.microsecond | 表示微秒 |
| t.tzinfo | 返回傳遞time構(gòu)造方法的tzinfo對(duì)象 |
| t.replace(hour,[,mintue,[,]]) | 生成一個(gè)新的時(shí)間 |
| t.isoformat() | 返回一個(gè)‘HH:MM:SS.%f'格式的時(shí)間字符串 |
| t.strftime() | 返回指定格式的時(shí)間字符串 |
3. datetime.datetime 類
datetime.datetime 類是datetime.date的子類,包含時(shí)間和日期所有信息的對(duì)象
3.1datetime.datetime 類定義格式
class datetime.datetime(year,month,day,hour=0,minute=0, second=0,mircrosecond=0,tzinfo=Noe,*,fold=0 )
參數(shù):year,month和day 參數(shù)是必填項(xiàng)
- year參數(shù)取值范圍:[MINYEAR, MAXYEAR]
- month參數(shù)取值范圍:[1,12]
- day參數(shù)取值范圍:[1,給定年月對(duì)應(yīng)的天數(shù)]
- hour參數(shù)取值范圍:[0,23]
- minute參數(shù)取值范圍:[0,59]
- second參數(shù)取值范圍:[0,59]
- microsecond取值范圍:[0,1000000]
- tzinfo:可以是None,或者一個(gè)tzinfo子類實(shí)例
- fold in [0,1]
3.2datetime.datetime 類方法和屬性
| 類方法/屬性 | 作用 |
|---|---|
| datetime.today() | f返回當(dāng)前本期日期時(shí)間的datetime對(duì)象 |
| datetime.now([tz]) | 返回指定時(shí)區(qū)日期時(shí)間的datetime對(duì)象,若不指定tz參數(shù)則系統(tǒng)時(shí)間 |
| datetime.utcnow() | 返回當(dāng)前utc日期時(shí)間的datetime對(duì)象 |
| datetime.fromtimestamp(timestamp[, tz]) | 根據(jù)指定的時(shí)間戳創(chuàng)建一個(gè)datetime對(duì)象 |
| datetime.utcfromtimestamp(timestamp) | 根據(jù)指定的時(shí)間戳創(chuàng)建一個(gè)datetime對(duì)象 |
| datetime.combine(date, time) | 把指定的date和time對(duì)象整合成一個(gè)datetime對(duì)象 |
| datetime.strptime(date_str, format) | 將時(shí)間字符串轉(zhuǎn)換為datetime對(duì)象 |
datetime.datetime 類實(shí)例方法和屬性
| 實(shí)例方法/屬性 | 作用 |
|---|---|
| dt.year | 表示年 |
| dt.month | 表示月 |
| dt.day | 表示日 |
| dt.hour | 表示時(shí) |
| dt.minute | 表示分 |
| dt.second | 表示秒 |
| dt.microsecond | 表示微秒 |
| dt.tzinfo | 表示時(shí)區(qū) |
| dt.date() | 獲取datetime對(duì)象對(duì)應(yīng)的date對(duì)象 |
| dt.time() | 獲取datetime對(duì)象對(duì)應(yīng)的time對(duì)象, tzinfo 為None |
| dt.timetz() | 獲取datetime對(duì)象對(duì)應(yīng)的time對(duì)象,tzinfo與datetime對(duì)象的tzinfo相同 |
| dt.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]]) | 生成一個(gè)新datetime對(duì)象 |
| dt.timetuple() | 返回datetime對(duì)象對(duì)應(yīng)的tuple(不包括tzinfo) |
| dt.utctimetuple() | 返回datetime對(duì)象對(duì)應(yīng)的utc時(shí)間的tuple(不包括tzinfo) |
| dt.timestamp() | 返回datetime對(duì)象對(duì)應(yīng)的時(shí)間戳 |
| dt.toordinal() | 返回日期是是自 0001-01-01 開(kāi)始的第多少天 |
| dt.weekday() | 返回日期是星期幾,[0, 6],0表示星期一 |
| dt.isocalendar() | 返回一個(gè)元組,格式為:(year, weekday, isoweekday) |
| dt.isoformat([sep]) | 返回一個(gè)‘%Y-%m-%d%H:%M:%S.%f'格式的字符串 |
| dt.ctime() | 等價(jià)于time模塊的time.ctime(time.mktime(d.timetuple())) |
| dt.strftime(format) | 返回指定格式的時(shí)間字符串 |
4. datetime.timedelta 類
datetime.timedelta 類定義的對(duì)象表示兩個(gè)date或者time的時(shí)間間隔
4.1datetime.timedelta 類定義格式
class datetime.timedelta(days=0,seconds=0,microseconds=0, milliseconds=0,hours=0,weeks=0 )
參數(shù):所有參數(shù)都是可選并且默認(rèn)為0
- 參數(shù)類型:整數(shù)或者浮點(diǎn)數(shù),正數(shù)或者負(fù)數(shù)
- 只有days、seconds、microseconds會(huì)存儲(chǔ)在內(nèi)部
換算公式:
- 1seconds = 1000microsends
- 1minutes = 60seconds
- 1hours = 3600seconds
- 1weeks = 7days
seconds 取值范圍:[0,86399]
microseconds 取值范圍:[0,999999]
days 取值范圍:[-999999999,999999999]
4.2datetime.timedelta 類方法和屬性
| 類方法/屬性 | 作用 |
|---|---|
| timedelta.min | timedelta(-999999999) |
| timedelta.max | timedelta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999) |
| timedelta.resolution | timedelta(microseconds=1) |
datetime.timedelta 類實(shí)例方法和屬性
| 實(shí)例方法/屬性 | 作用 |
|---|---|
| td.days | 天,[-999999999, 999999999] |
| td.seconds | 秒[0, 86399] |
| td.microseconds | 微秒 [0, 999999] |
| td.total_seconds() | 時(shí)間差中包含的總秒數(shù),等價(jià)于: td / timedelta(seconds=1) |
5. datetime.tzinfo 類與datetime.timezone 類
datetime.tzinfo 類是一個(gè)抽象基類,該類不會(huì)被直接實(shí)例化。
tzinfo的子類用例捕獲有關(guān)特定時(shí)區(qū)的信息tzinfo的實(shí)例可以傳給datetime和time對(duì)象的構(gòu)造器中
datetime.timezone 類是tzinfo的子類,它的每一個(gè)實(shí)例代表一個(gè)以與UTC的固定時(shí)間差來(lái)定義的時(shí)區(qū)。
5.1datetime.timezone 類定義格式
class datetime.timezone(offset,name=None)
參數(shù):
- offset 必現(xiàn)要指定一個(gè)timedelta對(duì)象,表示本地時(shí)間與UTC時(shí)間差范圍在[-24,24]
- name:是可選的,若指定必須為一個(gè)字符串,它將被用作于datetime.tzname()方法返回值
5.2datetime.timezone 類方法和屬性
| 類方法/屬性 | 作用 |
|---|---|
| timezone.utcoffset(dt) | 返回當(dāng)?timezone?實(shí)例被構(gòu)造時(shí)指定的固定值。 |
| timezone.tzname(dt) | 返回timezone實(shí)例被構(gòu)造時(shí)指定的固定值 |
| timezone.dst(dt) | 總是返回none |
| timezone.formutc(dt) | 返回dt+uoffset |
| timezone.utc | 返回UTC時(shí)區(qū) |
6、總結(jié)
主要對(duì)datetime模塊中六大類相關(guān)的屬性和方法進(jìn)行學(xué)習(xí)匯總
到此這篇關(guān)于 Python 時(shí)間操作datetime詳情(下)的文章就介紹到這了,更多相關(guān) Python 時(shí)間操作datetime內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python調(diào)用DeepSeek?API的案例詳細(xì)教程
這篇文章主要為大家詳細(xì)介紹了以?Python?為例的調(diào)用?DeepSeek?API?的小白入門級(jí)詳細(xì)教程,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2025-02-02
Python在cmd上打印彩色文字實(shí)現(xiàn)過(guò)程詳解
這篇文章主要介紹了Python在cmd上打印彩色文字實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
Python下利用BeautifulSoup解析HTML的實(shí)現(xiàn)
這篇文章主要介紹了Python下利用BeautifulSoup解析HTML的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
django項(xiàng)目運(yùn)行因中文而亂碼報(bào)錯(cuò)的幾種情況解決
django是一個(gè)不錯(cuò)的WEB開(kāi)源框架。今天測(cè)試,發(fā)現(xiàn)有些頁(yè)面中文亂碼,后來(lái)發(fā)現(xiàn)出現(xiàn)中文亂碼還不止一種情況,所以這篇文章主要給大家介紹了關(guān)于django項(xiàng)目運(yùn)行過(guò)程中因?yàn)橹形亩鴮?dǎo)致亂碼報(bào)錯(cuò)的幾種情況的解決方法,需要的朋友可以參考下。2017-11-11
使用Python在Word文檔中添加,刪除和回復(fù)批注
在文檔協(xié)作與審閱場(chǎng)景中,高效管理批注是提升團(tuán)隊(duì)效率的關(guān)鍵環(huán)節(jié),下面我們就來(lái)看看如何使用Python在Word文檔中實(shí)現(xiàn)添加、刪除和回復(fù)批注的操作吧2025-03-03
Playwright中Web自動(dòng)化測(cè)試的實(shí)現(xiàn)
Playwright是一個(gè)現(xiàn)代的Web自動(dòng)化測(cè)試框架,本文主要介紹了Playwright中Web自動(dòng)化測(cè)試的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
python 地圖經(jīng)緯度轉(zhuǎn)換、糾偏的實(shí)例代碼
這篇文章主要介紹了python 地圖經(jīng)緯度轉(zhuǎn)換、糾偏的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08

