这一篇博文是【 AI学习路线图】系列文章的其中一篇,点击查看目录:AI学习完整路线图
Python的Time模块是关于时间的,获取当前时间、时间格式化等。time是原生安装时就有的,不需要进行安装。
1、 时间元组
time库里时间是以元组形式组织的,类似于:
(tm_year=2017, tm_mon=10, tm_mday=11, tm_hour=7, tm_min=45, tm_sec=6, tm_wday=2, tm_yday=284, tm_isdst=0)
元组属性 | 说明 | 元组属性 | 说明 |
---|---|---|---|
tm_year | 年 | tm_mon | 月 |
tm_mday | 日 | tm_hour | 时 |
tm_min | 分 | tm_sec | 秒 |
tm_wday | 一周内的第几天,值为0到6,0是周一 | tm_yday | 一年中的第几天,1到365 |
tm_isdst | 是否为夏令时,1夏令时、0非夏令时、-1未知 |
2、 常用方法
方法 | 说明 |
---|---|
time() | 返回当前时间戳 |
clock() | 运行当前程序的时候,执行到这个函数,花费的秒数 .以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time.time()更有用。在不同的系统上含义不同。在UNIX系统上,它返回的是”进程时间”,它是用秒表示的浮点数(时间戳)。而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间。 |
localtime([secs]) | 接收时间戳,返回时间元组 |
gmtime([secs]) | 接收时间戳,返回格林威治时间下的时间元组 |
mktime(tupletime) | 接收时间元组,返回时间戳 |
strftime(fmt[,tupletime]) | 根据时间元组,格式化输出为时间字符串 |
strptime(str,fmt=fmt_str) | 根据时间字符串和格式,转换为时间元组 |
举例:
import time
if __name__ == "__main__":
# 返回当前时间戳,1970年至今的秒数
print("当前时间戳:", time.time())
# 接收时间戳,返回对应的时间元组
print("返回当前时间元组:", time.localtime())
# 接收时间戳,返回对应的时间元组
print("接收时间戳,返回对应的时间元组", time.localtime(1507679106))
# 接收时间戳,返回格林威治时间元组
print("格林威治时间元组:", time.gmtime())
# 接收时间元组,转为时间戳
print("接收时间元组,转为时间戳:", time.mktime(time.localtime()))
# 将时间元组格式化为字符串输出
print("格式化为字符串:", time.strftime("%Y-%m-%d", time.localtime()))
# 将时间字符串,转换为时间元组
print("字符串转为时间元组:", time.strptime("2017-10-11 15:32:01", "%Y-%m-%d %H:%M:%S"))
3、 时间格式化
python中时间日期格式化符号:
- %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 当前时区的名称
- %% %号本身