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è)最難的給你處理了。