python内置模块——time
2024-09-07 05:21:03
python中常见处理时间的函数除了之前介绍的datetime模块,还有一个time模块,其中最著名的一个方法就是sleep,其在线程、进程中常常得到应用。
time模块中表示时间的方式一般有以下四种:
- 时间戳:时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。
- 格式化的时间字符串:有专门用于时间显示的格式化字符串,下面会介绍到。
- 元组(struct_time):由九个元素组成,下面会详细介绍。
- asctime形式:例如这种'Tue Oct 30 18:38:05 2018'
显示时间戳形式
- time.time():显示当前时间戳
>>> time.time()
1540895526.2518616
- time.mktime(k):将k这个元组形式的时间格式转换成时间戳,k这个参数是必须的。
>>> time.mktime(time.localtime())
1540895650.0
显示元组格式
下面是元组九个元素:
- time.localtime():返回当前以元组格式的时间
>>> time.localtime()
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=30, tm_hour=18, tm_min=39, tm_sec=17, tm_wday=1, tm_yday=303, tm_isdst=0)
- time.gmtime():返回当前0时区的元组形式时间,我国是在东八区。
>>> time.gmtime()
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=31, tm_hour=15, tm_min=2, tm_sec=33, tm_wday=2, tm_yday=304, tm_isdst=0)
- time.strptime(string[,format]):将格式化时间字符串变成元组形式,第一个必须参数是字符串时间,第二个可选参数是对应字符串时间的格式化形式,默认是"%a %b %d %H:%M:%S %Y"。格式化规则下面有介绍
>>> time.strptime('2018-10-31 23:30:53', '%Y-%m-%d %H:%M:%S')
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=31, tm_hour=23, tm_min=30, tm_sec=53, tm_wday=2, tm_yday=304, tm_isdst=-1)
自定义格化时间格式
下图是time模块的格式化规则
- time.strftime(format[,t]):将元组形式的时间变成指定格式化的字符串,第一个必选参数是指定的格式化,第二个可选参数表示元组形式的时间,默认是time.localtime()返回的结果。
>>> time.strftime('%Y-%m-%d %H:%M:%S')
'2018-10-31 23:33:14'
显示asctime形式
- time.asctime([t]):将元组形式的时间转为asctime,默认传入time.localtime()。
>>> time.asctime()
'Wed Oct 31 23:36:30 2018'
- time.ctime([t]):将时间戳转为asctime,默认传入time.time()。
>>> time.ctime()
'Wed Oct 31 23:37:55 2018'
其他主要方法
- time.sleep(secs):睡眠secs秒,常在线程中应用,可模拟阻塞任务和耗时任务。
- time.clock():这个需要注意,在不同的系统上含义不同。在UNIX系统上,它返回的是“进程时间”,它是用秒表示的浮点数(时间戳)。而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间。
>>> time.clock()
8.533329692445998e-07
>>> time.clock()
7.501826345887426
>>> time.clock()
16.350440383812103
最新文章
- Nutz Dao实体中索引注解的使用(@TableIndexes@Index)
- mongodb 手动分片的命令汇总
- [转载] LinkedIn架构这十年
- 从SVN导出指定版本号之间修改的文件(转)
- .net RAW(16)与GUID互相转换
- WEB性能测试:你应该带上VisualStudio2010
- HDU 1312:Red and Black(DFS搜索)
- freemarker基本知识总结
- oracle rac 数据库常用命令
- HTML5屏幕适配标签设置
- 网站UV,与IP、PV
- 神经网络及其简单实现(MATLAB)
- 一些神奇的JS功效
- easyUI使用datagrid-detailview.js实现多级级列表嵌套
- Markdown中特殊字符的转义字符
- C语言函数指针与 c#委托和事件对比
- logstash解耦之redis消息队列
- Echo团队Alpha冲刺随笔 - 第一天
- DNS污染——domain name的解析被劫持了返回无效的ip
- Linux:paste命令详解
热门文章
- Java中的super关键字和this关键字作用介绍
- 使用GDI+显示OpenCV中的图像IplImage
- 19 01 18 dango 模型
- 量化投资_Multicharts数组操作函数_zeros()设定数组元素为0(自定义)
- Win7 node多版本管理gnvm采坑记录
- Neo4j--图形理论基础
- Centos6.5 安装zabbix3(收藏,非原创)
- Python说文解字_Python之多任务_04
- composer命令卡慢,使用国内源
- 最短路问题--Floyd 畅通工程续