时间模块
Python中有很多方便我们处理时间信息的模块
- time 模块
- datetime 模块
- pytz 模块
- dateutil 模块
这里我们着重介绍的是前两种
time模块
time.time()
返回当前时间于 Unix时间 (1970.1.1 00:00:00)经过的秒数 返回值也称作时间戳,是一个浮点数类型
time.localtime(seconds)
将时间戳秒数转换为表示本地时间的时间元组 如果没有传入参数,则直接返回当前本地时间的时间元组时间元组:(tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)
- tm_wday:从0开始,表示星期几
- tm_yday:第几天
- tm_isdst:夏令时的决定旗标
time.sleep(seconds)
推迟程序的运行,参数为推迟的秒数
time.clock()
一般用来衡量程序的耗时
- win:
- 第一次调用:浮点数形式返回当前CPU运行时间
- 第二次调用:浮点数形式返回距离上次调用该函数至此次的时间间隔
- Linux:
- 浮点数返回当前的程序执行时间
time.asctime(tupletime)
将一个时间元组返回为一个可读形式字符串
>>> time.asctime( time.localtime() ) 'Fri Feb 2 22:26:36 2018' |
time.strftime( format [, tuple] )
将时间元组根据指定格式返回为可读字符串
time.strptime( string, format )
将可读字符串根据格式返回为时间元组
格式:
- %Y:年份
- %m:月份
- %d:天数
- %H:小时
- %M:分钟
- %S:秒
- %x:天/月/年
- %X:当前 时:分:秒
- %A:星期 (全称)
- %a:星期 (缩写)
>>> time.strftime('%Y %m %d',time.localtime()) '2018 02 02' >>> time.strptime('2018 02 02','%Y %m %d') time.struct_time(tm_year=2018, tm_mon=2, tm_mday=2, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=33, tm_isdst=-1) |
datetime模块
子模块介绍:在datetime模块分别包含了以下三个模块进行时间处理
- datetime.datetime:处理年月日,时分秒
- datetime.date:处理年月日
- datetime.time:处理时分秒
datetime.datetime.now() datetime.datetime.today() 获取 当前时间,包含 年月日, 时分秒, 微秒 返回类型为 datetime.datetime
datetime.date.today()
返回当前时间,只包含年月日
datetime.datetime.delta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999)
表示时间差
>>> now = datetime.datetime.now() >>> now datetime.datetime(2018, 2, 10, 17, 12, 18, 220858) >>> de = datetime.timedelta(days=30) >>> de + now datetime.datetime(2018, 3, 12, 17, 12, 18, 220858) |
一些时间实例中的函数:
- res = datetime.datetime.today()
- res = datetime.date.today()
- res = datetime.time(10,20,10)
一些通用的实例函数,在下列举:
- res.year :年
- res.month:月
- res.day:日
- res.hour: 时
- res.minute:分
- res.second:秒
res.timestamp()
获取当前时间戳
res.timetuple()
获取当前时间元组
res.ctime()
返回一个字符串日期
res.replace(year, month, day, hour, minute, second)
将指定值替换后返回一个新的date数据
res.timetuple()
返回一个时间元组
res.weekday()
从0开始返回当前时间是星期几星期一为0,星期日为6
res.isoweekday()
以ISO时间标准格式从1开始返回当前时间是星期几星期一为1,星期日为7
res.isocalendar()
ISO表示格式的时间元组(年,月,日)
res.isoformat()
返回 一个‘YYYY-MM-DD’的字符串格式
构造自己的时间
datetime.datetime(2018, 2, 2, 23, 11, 2, 9999)
参数位置分别为:年 月 日 时 分 秒 微秒返回值: datetime.datetime类型