time模块
time模块用于获取并处理时间,Python中有两种方式表示时间,接下来分别介绍每种表示方式。
1.时间戳
时间戳是指从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数,在time模块中的time()函数可以获取当前时间的时间戳,如下所示。
1 import time
2 print(time.time())
运行结果如下图所示。
运行结果
在上例中,通过random模块中time()函数获取当前时间的时间戳,但从该结果中不能直接得出它所表示的时间,此时可以将该结果转换为时间元组,再进行格式化输出。
2.时间元组
时间元组struct_time包含9个元素,具体如下表所示。
序号 | 字段 | 说明 |
---|---|---|
0 | tm_year | 年份,0000~9999的整数 |
1 | tm_mon | 月份,1~12的整数 |
2 | tm_day | 日期,1~31的整数 |
3 | tm_hour | 小时,0~23的整数 |
4 | tm_min | 分钟,0~59的整数 |
5 | tm_sec | 秒钟,0~59的整数 |
6 | tm_wday | 星期,0~6的整数(星期一为0) |
7 | tm_yday | 天数,1~366的整数 |
8 | tm_isdst | 0表示标准时区,1表示夏令时区 |
在time模块中,localtime()函数可以将一个时间戳转为一个当前时区的时间元组,如下所示。
1 import time
2 print(time.localtime(time.time()))
运行结果如下图所示。
运行结果
在上例中,通过random模块中localtime()函数可以将时间戳转为时间元组。从运行结果可发现,时间元组表示时间也不易观察,此时可以通过strftime()函数将时间元组格式化,如下所示。
1 import time
2 print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
3 print(time.strftime('%a %b %d %H:%M:%S %Y', time.localtime(time.time())))
运行结果如下图所示。
运行结果
在上例中,通过random模块中strftime ()函数可以将时间元组格式化。该函数中第一个参数为格式化的时间字符串,其中格式化符号如下表所示。
格式化符号 | 说明 |
---|---|
%y | 年份,00~99 |
%B | 本地简化月份名称 |
%Y | 年份,0000~9999 |
%c | 本地相应的日期表示和时间表示 |
%m | 月份,01~12 |
%j | 天数,001~366 |
%d | 天数,01~31 |
%p | 本地A.M.或P.M. |
%H | 小时,00~23 |
%U | 星期数,00~53,星期天为星期的开始 |
%I | 小时,01~12 |
%w | 星期几,0~6,星期天为星期的开始 |
%M | 分钟,00~59 |
%W | 星期数,00~53,星期一为星期的开始 |
%S | 秒钟,00~59 |
%x | 本地相应的日期表示 |
%a | 本地简化星期名称 |
%X | 本地相应的时间表示 |
%A | 本地完整星期名称 |
%Z | 当前时区的名称 |
%b | 本地简化月份名称 |
%% | %号本身 |
Python中还有许多内置标准模块,读者可以通过在终端模式下输入help('模块名')查看该模块包含的对象及用法,如通过help('time')查看time模块的用法,如下图所示。
通过help()查看模块用法
网友评论