Python時(shí)間序列處理模塊(datetime模塊)

datatime模塊

datatime模塊是在time模塊的基礎(chǔ)之上做了封裝,提供了更多更好用的類供我們使用,常用的有date、time、datetime、timedelta、tzinfo。但是為了更靈活的處理時(shí)間,最好是將time模塊和datetime模塊中的精髓學(xué)習(xí)到。

① date類:主要用于處理年、月、日;
② time類:主要用于處理時(shí)、分、秒;
③ datetime類:date類和time類的綜合使用,可以處理年、月、日、時(shí)、分、秒;
④ timedelta類:主要用于做時(shí)間加減的;
⑤ tzinfo類:時(shí)區(qū)類;

date類

1)靜態(tài)方法和屬性:直接通過類名調(diào)用;
today():返回本地時(shí)間的一個(gè)date對象;

fromtimestamp(timestamp):給定一個(gè)時(shí)間戳,返回一個(gè)date對象;# 這個(gè)函數(shù)很有用

max:date對象能夠表示的最大時(shí)間;

min:date對象能夠表示的最小時(shí)間;

resolution:date對象表示時(shí)間的最小單位,這里指的是天;

操作如下:

from datetime import *
import time

date.today()
date.fromtimestamp(time.time())
date.max
date.min
date.resolution

結(jié)果如下:

2)其它常用方法和屬性:通過date對象才能調(diào)用;
--- "屬性"
d.year、d.month、d.day:年、月、日;

--- "方法"
d.replace(year=,month=,day=):生成一個(gè)新的日期對象,用參數(shù)指定的年,月,日代替原有對象中的屬性。(原有對象仍保持不變)

d.timetuple():返回時(shí)間元組struct_time格式的日期;

d.weekday():返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此類推;
d.isoweekday():返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此類推;

d.isocalendar():返回(year,week,weekday)格式的元組;

d.isoformat():返回格式如'YYYY-MM-DD'的字符串;

d.strftime(format):傳入任意格式符,可以輸出任意格式的日期表示形式;

先構(gòu)造一個(gè)date對象:

d = date.fromtimestamp(1334567890)
display(d)

結(jié)果如下:

① d.year、d.month、d.day:年、月、日;
d = date.fromtimestamp(1334567890)
display(d)

display(d.year,d.month,d.day)

結(jié)果如下:

② d.replace(year=,month=,day=):傳入指定的year或month或day,生成一個(gè)新日期的date對象,但不改變原有的date對象;
d = date.fromtimestamp(1334567890)
display(d)

yesterday = d.replace(day=15)
display(yesterday)

tommorrow = d.replace(day=17)
display(tommorrow)

z = d.replace(year=2015,month=12)
display(z)

display(d)

操作如下:

③ d.timetuple():返回時(shí)間元組struct_time格式的日期;
d = date.fromtimestamp(1334567890)
display(d)

display(d.timetuple())

結(jié)果如下:

④ d.weekday()和d.isoweekday():在中國,主要以d.isoweekday()的使用為主;
d.weekday():返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此類推;
d.isoweekday():返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此類推;
d = date.fromtimestamp(1334567890)
display(d)

display(d.weekday())
display(d.isoweekday())

結(jié)果如下:

⑤ d.isocalendar():返回(year,week,weekday)格式的元組;
year:表示當(dāng)前日期的年份;
week:表示當(dāng)前日期是一年中的第幾周;
weekday:表示當(dāng)前日期是星期幾;
d = date.fromtimestamp(1334567890)
display(d)

display(d.isocalendar())

結(jié)果如下:

注意:d.isocalendar()函數(shù)的返回值較為特殊,需要特別注意。

⑥ d.isoformat():返回固定格式如’YYYY-MM-DD’的字符串;
d = date.fromtimestamp(1334567890)
display(d)

display(d.isoformat())

結(jié)果如下:

⑦ d.strftime(format):傳入任意格式符,可以輸出任意格式的日期表示形式。

常用的格式符如下所示:

操作如下:

d = date.fromtimestamp(1334567890)
display(d)

d = d.strftime("%Y{y}%m{m}%du0z1t8os").format(y="年",m="月",d="日")
display(d)

結(jié)果如下:

注意:d.strftime(format)函數(shù)很有用,要特別注意。只不過在顯示中文這里可能會(huì)出現(xiàn)問題,我把這個(gè)最難的給你處理了。

學(xué)習(xí)來源

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容