【Python】datetime庫(kù)詳解

datetime庫(kù)概述

datetime庫(kù)定義了2個(gè)常量和5個(gè)類(lèi)坑傅。

2個(gè)常量分別是MINYEAR=1MAXYEAR=9999件豌。

5個(gè)類(lèi)分別是:

  1. date類(lèi):表示日期的類(lèi)
  2. time類(lèi):表示時(shí)間的類(lèi)
  3. datetime類(lèi):表示時(shí)間日期的類(lèi)
  4. timedelta類(lèi):表示兩個(gè)datetime對(duì)象的差值疮方;
  5. tzinfo類(lèi):表示時(shí)區(qū)的相關(guān)信息

datetime的5個(gè)類(lèi)詳解

date類(lèi)

date類(lèi)包含三個(gè)參數(shù),分別為year茧彤,month案站,day,返回格式為year-month-day棘街。

構(gòu)造函數(shù)

  1. __new__(year,month,day):默認(rèn)的構(gòu)造函數(shù)蟆盐,創(chuàng)建date類(lèi)的對(duì)象時(shí)直接傳入year,month遭殉,day三個(gè)參數(shù)即可返回對(duì)應(yīng)的日期石挂。
  2. fromtimestamp(t):使用時(shí)間戳構(gòu)造對(duì)象,使用方法為:datetime.date.fromtimestamp(t)险污,傳入?yún)?shù)t為一個(gè)時(shí)間戳痹愚,返回時(shí)間戳t對(duì)應(yīng)的日期富岳。
  3. today():使用今天的日期構(gòu)造對(duì)象,使用方法為:datetime.date.today()拯腮,無(wú)參數(shù)窖式,返回今天的日期。
  4. fromordinal(n):使用日期序數(shù)構(gòu)造對(duì)象动壤,使用方法為:datetime.date.fromordinal(n)萝喘,傳入?yún)?shù)為一個(gè)整數(shù)序數(shù),代表從公元1年1月1日開(kāi)始的序數(shù)琼懊,序數(shù)每增加1代表增加1天阁簸,返回最終計(jì)算出的日期。

方法

  1. timetuple():返回日期對(duì)應(yīng)的time.struct_time對(duì)象哼丈,格式為time.struct_time(tm_year=1, tm_mon=1, tm_mday=2, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=2, tm_isdst=-1) 启妹。
  2. toordinal():相當(dāng)于fromordinal(n)的逆過(guò)程,返回值即為fromordinal(n)中的日期序數(shù)n醉旦。
  3. weekday():返回該日期對(duì)應(yīng)星期幾饶米,用[0,6]代表星期一到星期日。
  4. isoweekday():作用同weekday()车胡,用[1,7]代表星期一到星期日檬输。
  5. isocalendar():返回一個(gè)三元組,格式為(year,week_number,weekday)吨拍,分別代表年褪猛,第幾周网杆,星期幾羹饰。
  6. isoformat():返回標(biāo)準(zhǔn)日期格式:YYYY-MM-DD。
  7. ctime():返回格式為:Sat Sep 8 00:00:00 2018
  8. strftime(format):把日期按照f(shuō)ormat指定的格式進(jìn)行格式化碳却,具體的格式化符號(hào)如下队秩。
  9. replace(year,month,day):傳入?yún)?shù)為year,month昼浦,day馍资,返回對(duì)應(yīng)的新日期。

%y 兩位數(shù)的年份表示(00-99)
%Y 四位數(shù)的年份表示(000-9999)
%m 月份(01-12)
%d 月內(nèi)中的一天(0-31)
%H 24小時(shí)制小時(shí)數(shù)(0-23)
%I 12小時(shí)制小時(shí)數(shù)(01-12)
%M 分鐘數(shù)(00=59)
%S 秒(00-59)
%a 本地簡(jiǎn)化星期名稱(chēng)
%A 本地完整星期名稱(chēng)
%b 本地簡(jiǎn)化的月份名稱(chēng)
%B 本地完整的月份名稱(chēng)
%c 本地相應(yīng)的日期表示和時(shí)間表示
%j 年內(nèi)的一天(001-366)
%p 本地A.M.或P.M.的等價(jià)符
%U 一年中的星期數(shù)(00-53)星期天為星期的開(kāi)始
%w 星期(0-6)关噪,星期天為星期的開(kāi)始
%W 一年中的星期數(shù)(00-53)星期一為星期的開(kāi)始
%x 本地相應(yīng)的日期表示
%X 本地相應(yīng)的時(shí)間表示
%Z 當(dāng)前時(shí)區(qū)的名稱(chēng)
%% %號(hào)本身

time類(lèi)

time類(lèi)包含六個(gè)參數(shù)鸟蟹,分別為hour,minute使兔,second建钥,microsecond,tzinfo虐沥,fold熊经,返回格式為hour:minute:second(.microsecond)泽艘。

構(gòu)造函數(shù)

__new__(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, fold=0):默認(rèn)的構(gòu)造函數(shù),創(chuàng)建time類(lèi)的對(duì)象時(shí)直接傳入相應(yīng)參數(shù)即可返回對(duì)應(yīng)的時(shí)間镐依。

方法

  1. isoformat():返回標(biāo)準(zhǔn)時(shí)間格式:HH:MM:SS.mmmmmm+zz:zz匹涮。
  2. strftime(format):把時(shí)間按照f(shuō)ormat指定的格式進(jìn)行格式化,具體的格式化符號(hào)與date類(lèi)中介紹的相同槐壳。
  3. utcoffset():返回timezone的偏移量然低。
  4. tzname():返回timezone的名稱(chēng)。
  5. replace():傳入對(duì)應(yīng)的參數(shù)宏粤,返回新的時(shí)間脚翘。

datetime類(lèi)

datetime類(lèi)是date類(lèi)和time類(lèi)的合體,包含前兩個(gè)類(lèi)的全部參數(shù)绍哎。

構(gòu)造函數(shù)

  1. __new__(year, month, day, hour=0, minute=0, second=0,microsecond=0, tzinfo=None, fold=0):默認(rèn)的構(gòu)造函數(shù)来农,創(chuàng)建datetime類(lèi)的對(duì)象時(shí)直接傳入相應(yīng)參數(shù)即可返回對(duì)應(yīng)的時(shí)間日期。
  2. fromtimestamp(t):使用時(shí)間戳構(gòu)造對(duì)象崇堰,傳入?yún)?shù)t為一個(gè)時(shí)間戳沃于,返回時(shí)間戳t對(duì)應(yīng)的日期和時(shí)間。
  3. utcfromtimestamp(t):使用時(shí)間戳構(gòu)造對(duì)象海诲,傳入?yún)?shù)t為一個(gè)時(shí)間戳繁莹,返回時(shí)間戳t對(duì)應(yīng)的UTC(時(shí)間標(biāo)準(zhǔn)時(shí)間)日期和時(shí)間。
  4. now():使用當(dāng)前日期和時(shí)間構(gòu)造對(duì)象特幔,無(wú)參數(shù)咨演,返回當(dāng)前的日期和時(shí)間。
  5. utcnow():使用當(dāng)前日期和時(shí)間構(gòu)造對(duì)象蚯斯,無(wú)參數(shù)薄风,返回當(dāng)前的UTC(時(shí)間標(biāo)準(zhǔn)時(shí)間)日期和時(shí)間。
  6. combine(date,time):使用date和time構(gòu)造對(duì)象拍嵌,傳入?yún)?shù)為1個(gè)date對(duì)象和1個(gè)time對(duì)象遭赂,返回計(jì)算出的日期。

方法

  1. timetuple():返回日期時(shí)間對(duì)應(yīng)的time.struct_time對(duì)象横辆,格式為time.struct_time(tm_year=1973, tm_mon=11, tm_mday=29, tm_hour=21, tm_min=33, tm_sec=9, tm_wday=3, tm_yday=333, tm_isdst=-1) 撇他。
  2. utctimetuple():與timetuple()相似,返回日期時(shí)間對(duì)應(yīng)的UTC(時(shí)間標(biāo)準(zhǔn)時(shí)間)time.struct_time對(duì)象狈蚤。
  3. astimezone():返回的格式中加入時(shí)區(qū)信息困肩,格式為:1973-11-29 21:33:09+08:00。
  4. date():返回date部分
  5. time():返回time部分脆侮,tzinfo設(shè)置為None锌畸。(另有timetz()方法返回有相同tzinfo的time())
  6. isoformat(sep):返回標(biāo)準(zhǔn)日期時(shí)間格式,傳入?yún)?shù)sep可設(shè)置日期和時(shí)間的分隔符他嚷,默認(rèn)為'T':1973-11-29T21:33:09蹋绽。
  7. ctime():返回格式為:Sat Sep 8 00:00:00 2018
  8. strftime(format):把日期按照f(shuō)ormat指定的格式進(jìn)行格式化芭毙,具體的格式化符號(hào)與date類(lèi)中介紹的相同。
  9. strptime(date_string,format):將字符串格式轉(zhuǎn)換為日期格式卸耘,具體的格式化符號(hào)與date類(lèi)中介紹的相同退敦。
  10. replace():傳入對(duì)應(yīng)的參數(shù),返回新的日期時(shí)間蚣抗。

timedelta類(lèi)

timedelta類(lèi)代表兩個(gè)datetime對(duì)象之間的時(shí)間差毛嫉。

構(gòu)造函數(shù)

__new__(days=0, seconds=0, microseconds=0,milliseconds=0, minutes=0, hours=0, weeks=0):默認(rèn)的構(gòu)造函數(shù)糙俗,創(chuàng)建timedelta類(lèi)的對(duì)象時(shí)直接傳入相應(yīng)參數(shù)即可返回對(duì)應(yīng)單位的時(shí)間差。

方法

  1. 支持兩個(gè)timedelta對(duì)象之間的加、減操作迄汛。
  2. 支持對(duì)一個(gè)timedelta進(jìn)行取正休偶、取負(fù)换途、取絕對(duì)值等操作咬荷。
  3. 支持兩個(gè)timedelta對(duì)象之間的比較。
  4. 支持一個(gè)timedelta對(duì)象乘以迷捧、除以一個(gè)整數(shù)的操作

tzinfo類(lèi)

tzinfo類(lèi)是一個(gè)虛擬基類(lèi)织咧,代表時(shí)區(qū)(time zone),創(chuàng)建子類(lèi)時(shí)必須重寫(xiě)name()漠秋,utcoffset()笙蒙,dst()這三個(gè)方法。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末庆锦,一起剝皮案震驚了整個(gè)濱河市捅位,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌搂抒,老刑警劉巖艇搀,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異燕耿,居然都是意外死亡中符,警方通過(guò)查閱死者的電腦和手機(jī)姜胖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)誉帅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人右莱,你說(shuō)我怎么就攤上這事蚜锨。” “怎么了慢蜓?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵亚再,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我晨抡,道長(zhǎng)氛悬,這世上最難降的妖魔是什么则剃? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮如捅,結(jié)果婚禮上棍现,老公的妹妹穿的比我還像新娘。我一直安慰自己镜遣,他們只是感情好己肮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著悲关,像睡著了一般谎僻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上寓辱,一...
    開(kāi)封第一講書(shū)人閱讀 51,182評(píng)論 1 299
  • 那天艘绍,我揣著相機(jī)與錄音,去河邊找鬼秫筏。 笑死鞍盗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的跳昼。 我是一名探鬼主播般甲,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼鹅颊!你這毒婦竟也來(lái)了敷存?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤堪伍,失蹤者是張志新(化名)和其女友劉穎锚烦,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體帝雇,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡涮俄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了尸闸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片彻亲。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖吮廉,靈堂內(nèi)的尸體忽然破棺而出苞尝,到底是詐尸還是另有隱情,我是刑警寧澤宦芦,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布宙址,位于F島的核電站,受9級(jí)特大地震影響调卑,放射性物質(zhì)發(fā)生泄漏抡砂。R本人自食惡果不足惜大咱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望注益。 院中可真熱鬧徽级,春花似錦、人聲如沸聊浅。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)低匙。三九已至旷痕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間顽冶,已是汗流浹背欺抗。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留强重,地道東北人绞呈。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像间景,于是被迫代替她去往敵國(guó)和親佃声。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 原文鏈接:http://www.cnblogs.com/lhj588/archive/2012/04/23/246...
    qtruip閱讀 1,335評(píng)論 0 0
  • 一倘要、time模塊 time模塊中時(shí)間表現(xiàn)的格式主要有三種: a圾亏、timestamp時(shí)間戳,時(shí)間戳表示的是從1970...
    記錄每一次BUG閱讀 1,109評(píng)論 0 0
  • Python提供了多個(gè)內(nèi)置模塊用于操作日期時(shí)間封拧,像calendar志鹃,time,datetime泽西。time模塊我在之...
    曉函閱讀 1,384評(píng)論 0 0
  • 現(xiàn)在的社會(huì)競(jìng)爭(zhēng)越來(lái)越激烈曹铃,家長(zhǎng)也使出渾身解數(shù)害怕孩子會(huì)輸在起跑線了,可是萬(wàn)一真的輸在起跑線上捧杉,又該怎么趕上陕见?
    kukujing閱讀 127評(píng)論 0 0
  • 這書(shū)講的真是經(jīng)濟(jì)學(xué)嗎?在看完第一本后糠溜,我默默地把它的分類(lèi)從“經(jīng)濟(jì)學(xué)”改成了“思維方式”淳玩。全書(shū)在用經(jīng)濟(jì)學(xué)的論證...
    于是晴天閱讀 290評(píng)論 0 1