欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python基本知識之datetime模塊詳解

 更新時間:2023年08月17日 09:16:58   作者:漠然是漠然  
這篇文章主要給大家介紹了關(guān)于Python基本知識之datetime模塊的相關(guān)資料,Python內(nèi)置的時間模塊datetime包含下面的模塊包含六個類和兩個常數(shù),提供了用于處理日期和時間的類和對應(yīng)的方法,一般用于處理年、月、日、時、分、秒的統(tǒng)計和計算等需求,需要的朋友可以參考下

前言

time模塊用于取得UNIX紀(jì)元時間戳,并加以處理。但是,如果以方便的格式顯示日期,或?qū)θ掌谶M(jìn)行算數(shù)運(yùn)算,就應(yīng)該使用datetime模塊。

1. datetime數(shù)據(jù)類型

1) datetime.datetime.now()表示特定時刻

datetime模塊有自己的datetime數(shù)據(jù)類型。datetime值表示一個特定的時刻,如下示例代碼:

調(diào)用datetime.datetime.now()返回一個datetime對象,表示當(dāng)前的日期和時間,根據(jù)當(dāng)前計算機(jī)的時鐘。這個對象包含當(dāng)前時刻的年、月、日、時、分、秒和微秒。

也可以利用datetime.datetime()函數(shù),向它傳入代表年、月、日、時、分、秒的整數(shù),得到特定時刻的datetime對象。這些整數(shù)將保存在datetime對象的year、month、day、hour、minute和second屬性中。

2)datetime.datetime.fromtimestamp()轉(zhuǎn)換時間戳

UNIX紀(jì)元時間戳可以通過datetime.datetime.fromtimestamp(),轉(zhuǎn)換為datetime對象。

datetime對象的日期和時間將根據(jù)本地時區(qū)轉(zhuǎn)換,如下示例代碼:

由此可看出表達(dá)式datetime.datetime.now()和datetime.datetime.fromtimestamp(time.time())做的事情相同,都是返回當(dāng)前時刻的datetime對象。

3)用于比較操作符

datetime對象可以用比較操作符進(jìn)行比較,弄清楚誰在前面。后面的datetime對象是“更大”的值,如下:

2. timedelta數(shù)據(jù)類型

1)timedelta數(shù)據(jù)類型表示一段時間

datetime模塊還提供了timedelta數(shù)據(jù)類型,表示一段時間,而不是一個時刻:

  • 用datetime.timedelta()函數(shù)創(chuàng)建timedelta對象,此函數(shù)接收關(guān)鍵字參數(shù)weeks、days、hours、minutes、seconds、milliseconds和microseconds,這些關(guān)鍵字參數(shù)都是可選的。沒有month和year關(guān)鍵字參數(shù),因?yàn)?ldquo;月”和“年”是可變的時間,依賴于特定月份或年份。
  • timedelta對象擁有的總時間以天、秒、微妙來表示,這些數(shù)字分別保存在days、seconds和microseconds屬性中。
  • total_seconds()方法用于timedelta對象,返回timedelta對象表示的秒數(shù)。
  • 將一個timedelta對象傳入str(),將返回格式良好的、人類可讀的字符串。

2)進(jìn)行日期運(yùn)算

算數(shù)運(yùn)算符可以用于對datetime值進(jìn)行日期運(yùn)算。例如,要計算今天之后1000天的日期:

如代碼所示,Python將完成日期運(yùn)算,弄清楚當(dāng)前日期之后的1000天。這很有用,我們不用記住每個月有多少天、閏年的因素和其他棘手的細(xì)節(jié),datetime模塊會處理所有這些問題。

利用 + 和 - 運(yùn)算符,timedelta對象與datetime對象或其他timedelta對象相加或相減。

利用 * 和 / 運(yùn)算符,timedelta對象可以乘以或除以整數(shù)或浮點(diǎn)數(shù)。示例如下:

3. 將datetime對象轉(zhuǎn)換為字符串 —— strftime()方法

UNIX紀(jì)元時間戳和datetime對象對人類來說都不是很友好可讀。利用strftime()方法,可以將datetime對象顯示為字符串。( strftime()函數(shù)命中的 f 表示格式,format)。

strftime()方法使用的指令類似于Python的字符串格式化。下表列出了完整的strftime()指令:

strftime()指令
strftime指令含義
%Y帶世紀(jì)的年份,例如'2014'
%y不帶世紀(jì)的年份,'00'至'99'(1970至2069)
%m數(shù)字表示的月份,'01'至'12'
%B完整的月份,例如'November'
%b簡寫的月份,例如'Nov'
%d一月中的第幾天,'01'至'31'
%j一年中的第幾天,'001'至'366'
%w一周中的第幾天,'0'(周日)至'6'(周六)
%A完整的周幾,例如'Monday'
%a簡寫的周幾,例如'Mon'
%H小時(24小時時鐘),'00'至'23'
%I小時(12小時時鐘),'01'至'12'
%M分,'00'至'59'
%S秒,'00'至'59'
%p'AM'或'PM'
%%就是'%'字符

向strftime()傳入一個定制的格式字符串,其中包含格式化指定(以及任何需要的斜線、冒號等),strftime()將返回一個格式化的字符串,表示datetime對象的信息。代碼如下:

strftime(format)方法返回一個字符串,用format字符串中的定制格式來表示datetime對象表示的時間。

需要注意的是:strftime() 不是以 datetime.datetime 開始。

4. 將字符串轉(zhuǎn)換成datetime對象 —— strptime()函數(shù)

如果有一個字符串的日期信息,如'2021/10/21 16:29:00'或'October 21, 2015', 需要轉(zhuǎn)換為datetime對象,就用 datetime.datetime.strptime()函數(shù)。

strptime()函數(shù)與strftime()方法相反,但定制的格式字符串使用相同的指令,見上表strftime()指令。必須將格式字符串傳入strptime(),這樣它就知道如何解析和理解日期字符串。

strptime()函數(shù)命中的 p 表示解析,parse。示例代碼如下:

 strptime()需要傳入兩個參數(shù),第一個參數(shù)是需要轉(zhuǎn)換的字符串,第二個參數(shù)是第一個參數(shù)對應(yīng)的定制格式字符串。

datetime.datetime.strptime(time_string, format)函數(shù)返回一個datetime對象,它的時刻由time_string指定,利用format字符串參數(shù)來解析。

需要注意的是:帶有日期信息的字符串必須準(zhǔn)確匹配定制的格式字符串,否則Python將拋出ValueError異常。

總結(jié)

到此這篇關(guān)于Python基本知識之datetime模塊詳解的文章就介紹到這了,更多相關(guān)Python datetime模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論