python之time和datetime模塊

醉里挑燈看劍窝爪,夢回吹角連營。八百里分麾下炙齐媒,五十弦翻塞外聲蒲每。沙場秋點(diǎn)兵。
馬作的盧飛快喻括,弓如霹靂弦驚邀杏。了卻君王天下事,贏得生前身后名唬血⊥可憐白發(fā)生!

幾個(gè)術(shù)語了解

  • 時(shí)間戳(timestamp)的方式:通常來說,時(shí)間戳表示的是從1970年1月1日開始按秒計(jì)算的偏移量(time.gmtime(0))此模塊中的函數(shù)無法處理1970紀(jì)元年以前的時(shí)間或太遙遠(yuǎn)的未來(處理極限取決于C函數(shù)庫拷恨,對于32位系統(tǒng)而言脖律,是2038年)
  • UTC(Coordinated Universal Time,世界協(xié)調(diào)時(shí))也叫格林威治天文時(shí)間,是世界標(biāo)準(zhǔn)時(shí)間.在我國為UTC+8
  • DST(Daylight Saving Time)即夏令時(shí)

一腕侄、time模塊的使用

  • time.time()
    獲取當(dāng)前時(shí)間戳(以秒為單位的浮點(diǎn)型的時(shí)間戳)
    print(time.time())
    >>>1539847769.6119404
  • time.localtime(seconds=None)
    默認(rèn)獲取當(dāng)前時(shí)間的結(jié)構(gòu)化時(shí)間
    print(time.localtime())
    >>>time.struct_time(tm_year=2018, tm_mon=10, tm_mday=18, tm_hour=15, tm_min=35, tm_sec=0, tm_wday=3, tm_yday=291, tm_isdst=0)
  • time.mktime(p_tuple)
    將結(jié)構(gòu)化時(shí)間轉(zhuǎn)化成時(shí)間戳格式
    print(time.mktime(time.localtime()))
    >>>1539849828.0
    注意和time.time()的區(qū)別:
    print(time.time())
    1539849828.090503
  • time.strftime(format, p_tuple=None)
    格式化時(shí)間(字符串)
    print(time.strftime("%Y-%m-%d %H:%M:%S"))
    >>>2018-10-18 15:56:42
  • time.strptime(string, format)
    將格式化時(shí)間轉(zhuǎn)成結(jié)構(gòu)化時(shí)間
    print(time.strptime("2018-10-18 15:56:42","%Y-%m-%d %H:%M:%S"))
    >>>time.struct_time(tm_year=2018, tm_mon=10, tm_mday=18, tm_hour=15, tm_min=56, tm_sec=42, tm_wday=3, tm_yday=291, tm_isdst=-1)
  • time.gmtime(seconds=None)
    默認(rèn)當(dāng)前UTC時(shí)間轉(zhuǎn)結(jié)構(gòu)化時(shí)間状您,與英國倫敦當(dāng)?shù)貢r(shí)間一致
    print(time.gmtime(time.time()))
    >>>time.struct_time(tm_year=2018, tm_mon=10, tm_mday=18, tm_hour=8, tm_min=10, tm_sec=16, tm_wday=3, tm_yday=291, tm_isdst=0)
  • time.sleep(secends)
    線程推遲指定的時(shí)間運(yùn)行

附一:


image.png

附二:time時(shí)間之間的轉(zhuǎn)換


image.png

二、datetime 模塊的使用

datetime模塊定義了5個(gè)類兜挨,分別是

  • 1.datetime.date:是指年月日構(gòu)成的日期(相當(dāng)于日歷)
  • 2.datetime.datetime:是指時(shí)分秒微秒構(gòu)成的一天24小時(shí)中的具體時(shí)間(相當(dāng)于手表)
  • 3.datetime.time:上面兩個(gè)合在一起膏孟,既包含時(shí)間又包含日期
  • 4.datetime.timedelta:表示時(shí)間間隔,即兩個(gè)時(shí)間點(diǎn)的間隔
  • 5.datetime.tzinfo:時(shí)區(qū)的相關(guān)信息

1. datetime.date類

  • date類有三個(gè)參數(shù),datetime.date(year,month,day)拌汇,返回year-month-day
    print(datetime.date(2017,12,1))
    >>>2017-12-01
  • datetime.date.today()
    獲取當(dāng)前時(shí)間的年月日
    print(datetime.date.today())
    >>>2018-10-18
  • datetime.date.isoweekday(cls)
    獲取指定日期是星期幾柒桑,1=周一,7=周天
    a = datetime.date.today()
    print(datetime.date.isoweekday(a))
    >>>4
  • datetime.date.weekday(cls)
    獲取指定日期是星期幾噪舀,0=周一魁淳,6=周天
    a = datetime.date.today()
    print(datetime.date.weekday(a))
    >>>3
  • datetime.date.fromtimestamp(時(shí)間戳)
    將時(shí)間戳轉(zhuǎn)化成特定格式的年月日
    print(datetime.date.fromtimestamp(1539847769))
    >>>2018-10-18
  • cls.timetuple() 將特定格式的日期轉(zhuǎn)化成結(jié)構(gòu)化時(shí)間
    a = datetime.date.today()
    print(a.timetuple())
    >>>time.struct_time(tm_year=2018, tm_mon=10, tm_mday=18, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=291, tm_isdst=-1)
  • cls.replace(year=2010) 替換指定的年月日
    a = datetime.date.today()
    print(a.replace(year=2010))
    >>>2010-10-18

2. datetime.time類

  • time類有5個(gè)參數(shù)飘诗,datetime.time(hour,minute,second,microsecond,tzoninfo)
    print(datetime.time(8,5,32))
    print(datetime.time(8,5,32,32))
    >>>08:05:32
    >>>08:05:32.000032

  • cls.strftime("時(shí)間格式")
    指定時(shí)間格式
    a= datetime.time(8,5,32,32)
    print(a.strftime("%H:%M"))
    >>>08:05

  • cls.replace()
    替換時(shí)分秒
    a= datetime.time(8,5,32,32)
    print(a.replace(hour=18))
    >>>18:05:32.000032

  • datetime.time.tzname()
    返回時(shí)區(qū)名字:略

  • datetime.time.utcoffset()
    返回時(shí)區(qū)的時(shí)間偏移量:略

3. datetime.datetime類

datetime模塊類的使用大同小異,有很多方法我們可能這輩子都用不上界逛,datetime類的方法比較多昆稿,在這里我就撿重點(diǎn)的列一下:

  • datetime.datetime.now()或者datetime.datetime.today()
    得到當(dāng)前的具體時(shí)間(不指定時(shí)區(qū)時(shí)兩個(gè)方法一樣的效果)
    print(datetime.datetime.now())
    >>>2018-10-18 19:15:17.691425
  • datetime.datetime.now().date()
    返回當(dāng)前時(shí)間的年月日部分
    print(datetime.datetime.now().date())
    >>>2018-10-18
  • datetime.datetime.now().time()
    返回當(dāng)前時(shí)間的時(shí)分秒...部分
    print(datetime.datetime.now().time())
    >>>19:16:54.497104
  • datetime.datetime.strftime()
    由日期格式轉(zhuǎn)化為字符串格式
    print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
    >>>2018-10-18 19:21:13
  • datetime.datetime.strptime()
    由字符串格式轉(zhuǎn)化為日期格式
    a = datetime.datetime.strptime("2018-10-18 19:21:37",'%Y-%m-%d %H:%M:%S')
    print(a,type(a))
    >>>2018-10-18 19:21:37 <class 'datetime.datetime'>

4. datetime.timedelta類

datetime.datetime.timedelta用于計(jì)算兩個(gè)日期之間的差值:

import datetime

a = datetime.datetime(2015, 10, 3)

b = datetime.datetime.now()

res1 = (b - a)
res2 = (b - a).days   //  取時(shí)間差天數(shù)
res3 = (b - a).seconds   // 取時(shí)間差時(shí)分秒部分的秒數(shù)總和
res4 = (b - a).microseconds  // 取時(shí)間差 秒數(shù)之后的微秒數(shù)
res5 = (b - a).total_seconds()  // 時(shí)間差的總秒數(shù)

print(res1)   >>> 1111 days, 19:48:35.543523
print(res2)   >>> 1111
print(res3)   >>> 71315
print(res4)   >>> 71315
print(res5)   >>> 96061715.543523
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市息拜,隨后出現(xiàn)的幾起案子溉潭,更是在濱河造成了極大的恐慌,老刑警劉巖少欺,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件喳瓣,死亡現(xiàn)場離奇詭異,居然都是意外死亡赞别,警方通過查閱死者的電腦和手機(jī)畏陕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仿滔,“玉大人惠毁,你說我怎么就攤上這事∑橐常” “怎么了鞠绰?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長实昨。 經(jīng)常有香客問我,道長盐固,這世上最難降的妖魔是什么荒给? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮刁卜,結(jié)果婚禮上志电,老公的妹妹穿的比我還像新娘。我一直安慰自己蛔趴,他們只是感情好挑辆,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著孝情,像睡著了一般鱼蝉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上箫荡,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天魁亦,我揣著相機(jī)與錄音,去河邊找鬼羔挡。 笑死洁奈,一個(gè)胖子當(dāng)著我的面吹牛间唉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播利术,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼呈野,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了印叁?” 一聲冷哼從身側(cè)響起被冒,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎喉钢,沒想到半個(gè)月后姆打,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡肠虽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年幔戏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片税课。...
    茶點(diǎn)故事閱讀 38,605評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡闲延,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出韩玩,到底是詐尸還是另有隱情垒玲,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布找颓,位于F島的核電站合愈,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏击狮。R本人自食惡果不足惜佛析,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望彪蓬。 院中可真熱鬧寸莫,春花似錦、人聲如沸档冬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽酷誓。三九已至披坏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間盐数,已是汗流浹背刮萌。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留娘扩,地道東北人着茸。 一個(gè)月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓壮锻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親涮阔。 傳聞我的和親對象是個(gè)殘疾皇子猜绣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評論 2 348

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