python time模块
导入模块: import time #time模块是python中最基本的模块之一
输出时间戳:time.time() #可以用变量接收,要打印出来要用print(),如 a = time.time(),print(a)
输出为:1516330026.4591534(1970年1月1日00:00:00后经过的浮点秒数)
时间元组: time.localtime() #可以用变量接收,用print()打印,默认是当前的时间;也可以传入一个时间戳,
如:time.localtime(1316331844.899376),它将返回时间戳对应的时间元组。
返回值:time.struct_time(tm_year=2011, tm_mon=9, tm_mday=18, tm_hour=15,
tm_min=44,tm_sec=4, tm_wday=6, tm_yday=261, tm_isdst=0)
上面的红字部分是一个时间元组,那么时间元组的含义是什么呢?返回元组的内容如下:
| 索引 | 属性(attribute) | 值(value) |
| 0 | tm_year(年) | 2018 |
| 1 | tm_mon(月) | 1~12 |
| 2 | tm_mday(日) | 1~31 |
| 3 | tm_hour(时) | 0~23 |
| 4 | tm_min(分) | 0~59 |
| 5 | tm_sec(秒) | 0~60 |
| 6 | tm_wday(星期几) | 0~6 |
| 7 | tm_yday(一年中的第几天) | 1~366 |
| 8 | tm_isdst(是否为夏令时) | 0,1,-1(-1:夏令时) |
我们经常需要格式化输出时间,那么如何才能做到呢?time模块提供了非常方便的函数供可以调用,首先我们先了解
一些需要认识的格式化符号:
| %y | 两位数的年份表示(00-99) |
| %Y | 四位数的年份表示(000-9999) |
| %m | 月份(01-12) |
| %d | 月内中的一天(0-31) |
| %H | 24小时制小时数(0-23) |
| %I | 12小时制小时数(01-12) |
| %M | 分钟数(00=59) |
| %S | 秒(00-59) |
| %a | 本地简化星期名称 |
| %A | 本地完整星期名称 |
| %b | 本地简化的月份名称 |
| %B | 本地完整的月份名称 |
| %c | 本地相应的日期表示和时间表示 |
| %j | 年内的一天(001-366) |
| %p | 本地A.M.或P.M.的等价符 |
| %U | 一年中的星期数(00-53)星期天为星期的开始 |
| %w | 星期(0-6),星期天为星期的开始 |
| %W | 一年中的星期数(00-53)星期一为星期的开始 |
| %x | 本地相应的日期表示 |
| %X | 本地相应的时间表示 |
| %Z | 当前时区的名称 |
| %% | %号本身 |
time模块主要要熟悉time.time( )、time.localtime([secs])、time.asctime([tupletime])、time.strftime(fmt[,tupletime])
time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')、time.mktime(tupletime)、time.sleep()
前两个我们已经熟悉了,下面介绍其他五个:
time.asctime([tupletime]) :接受时间元组并返回一个可读的形式为"Fri Jan 19 13:37:39 2018"(2018年01月19日 周五13时37分39秒)的24个字符的字符串。
time.strftime(fmt,[tupletime]) :接收以时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定。
如: print(time.strftime('%Y-%m-%d %H:%M:%S %w', time.localtime()))
输出: 2018-01-19 13:43:44 5 它的数据类型是str
time.strptime(str, '%Y-%m-%d %H:%M:%S %w') :根据fmt的格式,把一个时间字符串,解析为时间元组。利用上面返
回的字符串,使用time.strptime()将它转化为时间元组:print(time.strptime(st, '%Y-%m-%d %H:%M:%S %w')),其中st为接
收time.strftime()的变量。返回结果:time.struct_time(tm_year=2018, tm_mon=1, tm_mday=19, tm_hour=13, tm_min=50,
tm_sec=24, tm_wday=4, tm_yday=19, tm_isdst=-1),这是一个时间元组。
time.mktime(tupletime) :接受时间元组并返回时间辍(1970纪元后经过的浮点秒数)。
如:
这里的b是一个时间元组,记住在传时间元组时,如果是自己写元组,就必须去掉哪些英文简写,不然会报错,如果是变量接收再传入,则不用考虑这个问题!
返回:1516341024.0
time.sleep() :推迟线程的执行。