Python之日期与时间处理模块(date和datetime)(3)

datetime模块提供了处理日期和时间的类,既有简单的方式,又有复杂的方式。它虽然支持日期和时间算法,但其实现的重点是为输出格式化和操作提供高效的属性提取功能。

1. datetime模块中定义的类

datetime模块定义了以下几个类:

类名称描述
datetime.date   表示日期,常用的属性有:year, month和day  
datetime.time   表示时间,常用属性有:hour, minute, second, microsecond  
datetime.datetime   表示日期时间  
datetime.timedelta   表示两个date、time、datetime实例之间的时间间隔,分辨率(最小单位)可达到微秒  
datetime.tzinfo   时区相关信息对象的抽象基类。它们由datetime和time类使用,以提供自定义时间的而调整。  
datetime.timezone   Python 3.2中新增的功能,实现tzinfo抽象基类的类,表示与UTC的固定偏移量  

需要说明的是:这些类的对象都是不可变的。

类之间的关系: object date datetime time timedelta tzinfo timezone 2. datetime模块中定义的常量 常量名称描述
datetime.MINYEAR   datetime.date或datetime.datetime对象所允许的年份的最小值,值为1  
datetime.MAXYEAR   datetime.date或datetime.datetime对象所允许的年份的最大值,只为9999  
3. datetime.date类 datetime.date类的定义 class datetime.date(year, month, day)

year, month 和 day都是是必须参数,各参数的取值范围为:

参数名称取值范围
year   [MINYEAR, MAXYEAR]  
month   [1, 12]  
day   [1, 指定年份的月份中的天数]  
类方法和属性 类方法/属性名称描述
date.max   date对象所能表示的最大日期:9999-12-31  
date.min   date对象所能表示的最小日志:00001-01-01  
date.resoluation   date对象表示的日期的最小单位:天  
date.today()   返回一个表示当前本地日期的date对象  
date.fromtimestamp(timestamp)   根据跟定的时间戳,返回一个date对象  
对象方法和属性 对象方法/属性名称描述
d.year    
d.month    
d.day    
d.replace(year[, month[, day]])   生成并返回一个新的日期对象,原日期对象不变  
d.timetuple()   返回日期对应的time.struct_time对象  
d.toordinal()   返回日期是是自 0001-01-01 开始的第多少天  
d.weekday()   返回日期是星期几,[0, 6],0表示星期一  
d.isoweekday()   返回日期是星期几,[1, 7], 1表示星期一  
d.isocalendar()   返回一个元组,格式为:(year, weekday, isoweekday)  
d.isoformat()   返回‘YYYY-MM-DD’格式的日期字符串  
d.strftime(format)   返回指定格式的日期字符串,与time模块的strftime(format, struct_time)功能相同  
实例 >>> import time >>> from datetime import date >>> >>> date.max datetime.date(9999, 12, 31) >>> date.min datetime.date(1, 1, 1) >>> date.resolution datetime.timedelta(1) >>> date.today() datetime.date(2017, 2, 4) >>> date.fromtimestamp(time.time()) datetime.date(2017, 2, 4) >>> >>> d = date.today() >>> d.year 2017 >>> d.month 2 >>> d.day 4 >>> d.replace(2016) datetime.date(2016, 2, 4) >>> d.replace(2016, 3) >>> d.replace(2016, 3, 2) datetime.date(2016, 3, 2) >>> d.timetuple() time.struct_time(tm_year=2017, tm_mon=2, tm_mday=4, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=35, tm_isdst=-1) >>> d.toordinal() 736364 >>> d.weekday() 5 >>> d.isoweekday() 6 >>> d.isocalendar() (2017, 5, 6) >>> d.isoformat() '2017-02-04' >>> d.ctime() 'Sat Feb 4 00:00:00 2017' >>> d.strftime('%Y/%m/%d') '2017/02/04' 4. datetime.time类 time类的定义 class datetime.time(hour, [minute[, second, [microsecond[, tzinfo]]]])

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/0c4e7d95d6e7c6678362238486792fc9.html