和 之前的time模块,datetime模块更直观的打印出来。
在开发工作中,我们经常需要用到日期与时间,如:
作为日志信息的内容输出计算某个功能的执行时间用日期命名一个日志文件的名称记录或展示某文章的发布或修改时间其他常见的时间表示形式为:
时间戳格式化的时间字符串Python中还有其它的时间表示形式:
time模块的time.struct_timedatetime模块的datetime类
1. datetime模块中定义的类
datetime模块定义了以下几个类:
类名称描述datetime.date表示日期,常用的属性有:year, month和daydatetime.time表示时间,常用属性有:hour, minute, second, microseconddatetime.datetime表示日期时间(主要是datetime.datetime)datetime.timedelta表示两个date、time、datetime实例之间的时间间隔,分辨率(最小单位)可达到微秒datetime.tzinfo时区相关信息对象的抽象基类。它们由datetime和time类使用,以提供自定义时间的而调整。datetime.timezonePython 3.2中新增的功能,实现tzinfo抽象基类的类,表示与UTC的固定偏移量
需要说明的是:这些类的对象都是不可变的。
需要说明的是struct_time实例的各个属性都是只读的,不可修改。
datetime.datetime类
各参数的取值范围为:
参数名称取值范围year[MINYEAR, MAXYEAR]month[1, 12]day[1, 指定年份的月份中的天数]hour[0, 23]minute[0, 59]second[0, 59]microsecond[0, 1000000]tzinfotzinfo的子类对象,如timezone类的实例
如果一个参数超出了这些范围,会引起ValueError异常。
类方法和属性:
类方法/属性名称描述datetime.today()返回一个表示当前本期日期时间的datetime对象datetime.now([tz])返回指定时区日期时间的datetime对象,如果不指定tz参数则结果同上datetime.utcnow()返回当前utc日期时间的datetime对象datetime.fromtimestamp(timestamp[, tz])根据指定的时间戳创建一个datetime对象datetime.utcfromtimestamp(timestamp)根据指定的时间戳创建一个datetime对象datetime.combine(date, time)把指定的date和time对象整合成一个datetime对象datetime.strptime(date_str, format)将时间字符串转换为datetime对象
----->>>>对象方法和属性:
对象方法/属性名称描述dt.year, dt.month, dt.day年、月、日dt.hour, dt.minute, dt.second时、分、秒dt.microsecond, dt.tzinfo微秒、时区信息dt.date()获取datetime对象对应的date对象dt.time()获取datetime对象对应的time对象, tzinfo 为Nonedt.timetz()获取datetime对象对应的time对象,tzinfo与datetime对象的tzinfo相同dt.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]])生成并返回一个新的datetime对象,如果所有参数都没有指定,则返回一个与原datetime对象相同的对象dt.timetuple()返回datetime对象对应的tuple(不包括tzinfo)dt.utctimetuple()返回datetime对象对应的utc时间的tuple(不包括tzinfo)dt.toordinal()同date对象dt.weekday()同date对象dt.isocalendar()同date独享dt.isoformat([sep])返回一个‘%Y-%m-