datetime模塊中包含五種基本類型:date、time、datetime、timedelta和tzinfo,tz是time zone的縮寫,tzinfo用于表示時(shí)區(qū)信息。
一,date類型
date類型表示日期,是由year、month和day構(gòu)成的對(duì)象
1,初始化date對(duì)象
使用date(year,month,day)函數(shù)來初始化date對(duì)象:
from datetime import date mydate =date(year,month,day)
2,date對(duì)象函數(shù)
date對(duì)象可以返回日期的year,month和day:
- mydate.year
- mydate.month
- mydate.day
date類型的類型方法 date.today() 用于返回當(dāng)前的日期
>>> from datetime import date >>> date.today() datetime.date( 2019, 6, 27)
?3,date對(duì)象的格式化
把date對(duì)象轉(zhuǎn)換為標(biāo)準(zhǔn)化的字符串?‘YYYY-MM-DD’
>>> mydate=date(2019,3,1 ) >>> mydate. __str__ () ' 2019-03-01 ' >>> mydate.isoformat() ' 2019-03-01 ' >>> str(mydate) ' 2019-03-01 '
自定義格式:
- %Y:4位數(shù)表示的年份,YYYY
- %m:2位數(shù)字表示的月份,MM
- %d:2位數(shù)字表示的天份,DD
>>> mydate.strftime( ' %Y-%m-%d ' ) ' 2019-03-01 ' >>> mydate. __format__ ( ' %Y-%m-%d ' ) ' 2019-03-01 '
二,time類型
時(shí)間類型表示時(shí)間,不帶日期屬性,是由時(shí)、分、秒、毫秒和時(shí)區(qū)構(gòu)成的對(duì)象,毫秒的取值范圍是0~999999。
time(hour, minute, second[, microsecond[, tzinfo]])
時(shí)間對(duì)象的屬性:
- mytime.hour
- mytime.minute
- mytime.second
- mytime.microsecond
- mytime.tzinfo
時(shí)間對(duì)象的格式化:
- %H:2位數(shù)字表示的24小時(shí)制
- %I:2位數(shù)字表示的12小時(shí)制
- %M:兩位數(shù)字表示的分鐘
- %S:2位數(shù)字表示的秒
- %f:6位數(shù)字表示的毫秒
三,datetime類型
datetime類型既包括日期,也包括時(shí)間,是由日期和時(shí)間構(gòu)成的類型:
datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])
datetime對(duì)象的屬性:year、month、day、hour、minute、second、microsecond和tzinfo。
datetime對(duì)象的函數(shù):
- mydatetime.date()
- mydatetime.time(),不帶time zone,或者認(rèn)為time zone是None
- mydatetime.timetz(),帶有time zone
當(dāng)前的日期和時(shí)間
from datetime import datetime datetime.today() datetime.utcnow() datetime.now([tz])
四,timedelta類型
timedelta對(duì)象表示的是一個(gè)期間,是兩個(gè)日期或時(shí)間之間的差值。注意,參數(shù)中沒有年份。
datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])
通過timedelta()來計(jì)算日期的增加或減少:
>>> from datetime import timedelta >>> date(2019,3,1) + timedelta(days = 1 ) datetime.date( 2019, 3, 2 ) >>> date(2019,4,1) + timedelta(days = -1 ) datetime.date( 2019, 3, 31)
五,strftime() 和 strptime()
date、time和datetime對(duì)象都有函數(shù)strftime(format),用于把日期和時(shí)間轉(zhuǎn)換為具有特定格式的字符串,而類方法?datetime.strptime(date_string, format),用于把格式化的字符串轉(zhuǎn)換為日期和時(shí)間類型。
舉個(gè)例子,把字符串轉(zhuǎn)為date類型:
>>> import datetime >>> date_str = ' 2017-01-01 ' >>> datetime.datetime.strptime(date_str, ' %Y-%m-%d ' ).date() datetime.date( 2017, 1, 1)
?
?
參考文檔:
8.1. datetime — Basic date and time types
【Python】datetime庫詳解
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
