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

最新文章

  1. Nutz Dao实体中索引注解的使用(@TableIndexes@Index)
  2. mongodb 手动分片的命令汇总
  3. [转载] LinkedIn架构这十年
  4. 从SVN导出指定版本号之间修改的文件(转)
  5. .net RAW(16)与GUID互相转换
  6. WEB性能测试:你应该带上VisualStudio2010
  7. HDU 1312:Red and Black(DFS搜索)
  8. freemarker基本知识总结
  9. oracle rac 数据库常用命令
  10. HTML5屏幕适配标签设置
  11. 网站UV,与IP、PV
  12. 神经网络及其简单实现(MATLAB)
  13. 一些神奇的JS功效
  14. easyUI使用datagrid-detailview.js实现多级级列表嵌套
  15. Markdown中特殊字符的转义字符
  16. C语言函数指针与 c#委托和事件对比
  17. logstash解耦之redis消息队列
  18. Echo团队Alpha冲刺随笔 - 第一天
  19. DNS污染——domain name的解析被劫持了返回无效的ip
  20. Linux:paste命令详解

热门文章

  1. Java中的super关键字和this关键字作用介绍
  2. 使用GDI+显示OpenCV中的图像IplImage
  3. 19 01 18 dango 模型
  4. 量化投资_Multicharts数组操作函数_zeros()设定数组元素为0(自定义)
  5. Win7 node多版本管理gnvm采坑记录
  6. Neo4j--图形理论基础
  7. Centos6.5 安装zabbix3(收藏,非原创)
  8. Python说文解字_Python之多任务_04
  9. composer命令卡慢,使用国内源
  10. 最短路问题--Floyd 畅通工程续