datatime模块
datatime模块是在time模块的基础之上做了封装,提供了更多更好用的类供我们使用,常用的有date、time、datetime、timedelta、tzinfo。但是为了更灵活的处理时间,最好是将time模块和datetime模块中的精髓学习到。
① date类:主要用于处理年、月、日;
② time类:主要用于处理时、分、秒;
③ datetime类:date类和time类的综合使用,可以处理年、月、日、时、分、秒;
④ timedelta类:主要用于做时间加减的;
⑤ tzinfo类:时区类;
date类
1)静态方法和属性:直接通过类名调用;
today():返回本地时间的一个date对象;
fromtimestamp(timestamp):给定一个时间戳,返回一个date对象;# 这个函数很有用
max:date对象能够表示的最大时间;
min:date对象能够表示的最小时间;
resolution:date对象表示时间的最小单位,这里指的是天;
操作如下:
from datetime import *
import time
date.today()
date.fromtimestamp(time.time())
date.max
date.min
date.resolution
结果如下:
2)其它常用方法和属性:通过date对象才能调用;
--- "属性"
d.year、d.month、d.day:年、月、日;
--- "方法"
d.replace(year=,month=,day=):生成一个新的日期对象,用参数指定的年,月,日代替原有对象中的属性。(原有对象仍保持不变)
d.timetuple():返回时间元组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):传入任意格式符,可以输出任意格式的日期表示形式;
先构造一个date对象:
d = date.fromtimestamp(1334567890)
display(d)
结果如下:
① d.year、d.month、d.day:年、月、日;
d = date.fromtimestamp(1334567890)
display(d)
display(d.year,d.month,d.day)
结果如下:
② d.replace(year=,month=,day=):传入指定的year或month或day,生成一个新日期的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():返回时间元组struct_time格式的日期;
d = date.fromtimestamp(1334567890)
display(d)
display(d.timetuple())
结果如下:
④ 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())
结果如下:
⑤ d.isocalendar():返回(year,week,weekday)格式的元组;
year:表示当前日期的年份;
week:表示当前日期是一年中的第几周;
weekday:表示当前日期是星期几;
d = date.fromtimestamp(1334567890)
display(d)
display(d.isocalendar())
结果如下:
注意:d.isocalendar()函数的返回值较为特殊,需要特别注意。
⑥ d.isoformat():返回固定格式如’YYYY-MM-DD’的字符串;
d = date.fromtimestamp(1334567890)
display(d)
display(d.isoformat())
结果如下:
⑦ d.strftime(format):传入任意格式符,可以输出任意格式的日期表示形式。
常用的格式符如下所示:
操作如下:
d = date.fromtimestamp(1334567890)
display(d)
d = d.strftime("%Y{y}%m{m}%d{d}").format(y="年",m="月",d="日")
display(d)
结果如下:
注意:d.strftime(format)函数很有用,要特别注意。只不过在显示中文这里可能会出现问题,我把这个最难的给你处理了。