小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

python模塊---datetime

 天上飛雞 2020-05-26

datetime模塊是python自帶對(duì)時(shí)間的操作,其常用的四大類分別是date、time、datetime、timedelta。下面分別講解下這四大類中常用的方法及其屬性。

date類

date類的對(duì)象有三個(gè)參數(shù)構(gòu)成:year、month、day,我們先創(chuàng)建一個(gè)對(duì)象。

  1. import datetime
  2. a = datetime.date(2018,10,9)
  3. print(a)
  4. >>>2018-10-09

常用方法:

  • 比較日期大?。汗灿辛N方法,分別是__eq__、__ge__、__gt__、__le__、__lt__、__ne__,其分別表示==、>=、>、<=、<、!=,返回的結(jié)果是True或False。
  1. import datetime
  2. da = datetime.date(2018,10,9)
  3. be = datetime.date(2018,1,1)
  4. print(da.__eq__(be))
  5. print(da.__ge__(be))
  6. >>>False
  7. True
  • 獲取兩日期的相差天數(shù):有兩種方法,__sub__和__rsub__,這兩種方法本質(zhì)相同,只是一個(gè)正向減,一個(gè)反向減。
  1. print(da.__sub__(be))
  2. print(da.__rsub__(be))
  3. >>>281 days, 0:00:00
  4. -281 days, 0:00:00
  • ISO標(biāo)準(zhǔn)化日期:有三種格式,一種是年-周數(shù)-星期數(shù),方法是isocalender;另一種是年-月-日,方法是isofoemat;最后一種是星期數(shù)(周一為1,周日為7),方法是isoweekday。
  1. import datetime
  2. da = datetime.date(2018,10,9)
  3. print(da.isocalendar())
  4. print(da.isoformat())
  5. print(da.isoweekday())
  6. >>>(2018, 41, 2)
  7. 2018-10-09
  8. 2
  • 獲取當(dāng)前日期:
  1. import datetime
  2. to = datetime.date.today()
  3. print(to)
  4. >>>2018-10-09
  • 日期的格式化輸出:有三種方法,__format__和strftime方法差不多,第三種是輸出ctime格式。
  1. import datetime
  2. da = datetime.date(2018,10,9)
  3. print(da.__format__('%y/%m/%d'))
  4. print(da.strftime('%Y-%m-%d'))
  5. print(da.ctime())
  6. >>>18/10/09
  7. 2018-10-09
  8. Tue Oct 9 00:00:00 2018

time類

time類對(duì)象參數(shù)有hour、minute、second、microsecond、tzinfo,這些參數(shù)都是可選參數(shù)。我們先創(chuàng)建一個(gè)time對(duì)象。

  1. import datetime
  2. da = datetime.time(19,30,30)
  3. print(da)
  4. >>>19:30:30

常用方法:

  • 比較時(shí)間大小,這個(gè)與date一樣,有六種方法。
  • ISO標(biāo)準(zhǔn)化時(shí)間:isoformat函數(shù)。
  1. print(da.isoformat())
  2. >>>19:30:30
  • 時(shí)間字符串輸出:有__format__方法和strtfime方法。
  1. import datetime
  2. da = datetime.time(19,30,30)
  3. print(da.__format__('%H/%M/%S'))
  4. print(da.strftime('%I:%M:%S'))
  5. >>>19/30/30
  6. 07:30:30

datetime類

datetime類可以看成是date類和time類的結(jié)合體,datetime對(duì)象的參數(shù)有year、month、day、hour、minute、second等,其中年月日參數(shù)必須要有。老規(guī)矩先創(chuàng)建一個(gè)datetime對(duì)象。

  1. import datetime
  2. da = datetime.datetime(2018,10,10,0,35,30)
  3. print(da)
  4. >>>2018-10-10 00:35:30

常用方法:

  • 返回當(dāng)前日期
  1. import datetime
  2. now = datetime.datetime.now()
  3. print(now)
  4. >>>2018-10-10 00:37:31.301851
  • 分別返回對(duì)象的日期和時(shí)間部分:兩個(gè)方法,返回日期的date()和返回時(shí)間的time()。
  1. print(now.date())
  2. print(now.time())
  3. >>>2018-10-10
  4. 00:39:39.242345
  • 返回格林威治時(shí)間:utcnow方法
  1. import datetime
  2. now = datetime.datetime.utcnow()
  3. print(now)
  4. >>>2018-10-09 16:40:52.682584
  • 格式化時(shí)間輸出:用strftime方法
  • combin方法:將一個(gè)date和time對(duì)象合成一個(gè)datetime對(duì)象
  1. import datetime
  2. now = datetime.datetime.now()
  3. date = now.date()
  4. time = now.time()
  5. print(datetime.datetime.combine(date,time))
  6. >>>2018-10-10 00:46:21.209452
  • strptime方法:由string、format兩個(gè)參數(shù)返回一個(gè)datetime對(duì)象
  1. print(datetime.datetime.strptime('2017-3-22 15:25','%Y-%m-%d %H:%M'))
  2. >>>2017-03-22 15:25:00
  • strftime方法:由datetime對(duì)象轉(zhuǎn)為string對(duì)象。
  1. In [2]: datetime.now().strftime('%y-%m-%d %h:%M:%S')
  2. Out[2]: '19-05-16 May:21:31'
  • astimezone方法:將一個(gè)datetime對(duì)象轉(zhuǎn)為有時(shí)區(qū)的datetime對(duì)象,參數(shù)tc是時(shí)區(qū)對(duì)象,可由pytz模塊生成。
  • 日期時(shí)間轉(zhuǎn)為時(shí)間戳:timestamp方法
  1. import datetime
  2. now = datetime.datetime.now()
  3. timestamp = now.timestamp()
  4. print(timestamp)
  5. >>>1539103808.218222
  • 時(shí)間戳轉(zhuǎn)為日期時(shí)間:fromtimestamp方法
  1. time = datetime.datetime.fromtimestamp(timestamp)
  2. print(time)
  3. >>>2018-10-10 00:51:58.044790

timedelta類

此類包含屬性days、seconds、microxeconds。此類創(chuàng)建對(duì)象的參數(shù)為關(guān)鍵字參數(shù),參數(shù)沒有年、月,由天、微秒、毫秒、周、小時(shí)、分鐘。

  1. import datetime
  2. delta = datetime.timedelta(days = 2,hours = 2,minutes=30,seconds = 30,microseconds=300,milliseconds=66,weeks = 1)
  3. print(delta)
  4. >>>9 days, 2:30:30.066300

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多