Python的time模块中的常用方法整理


Posted in Python onJune 18, 2015

在应用程序的开发过程中,难免要跟日期、时间处理打交道。如:记录一个复杂算法的执行时间;网络通信中数据包的延迟等等。Python中提供了time, datetime calendar等模块来处理时间日期,今天对time模块中最常用的几个函数作一个介绍。
time.time

time.time()函数返回从1970年1月1日以来的秒数,这是一个浮点数。
time.sleep

可以通过调用time.sleep来挂起当前的进程。time.sleep接收一个浮点型参数,表示进程挂起的时间。
time.clock

在windows操作系统上,time.clock() 返回第一次调用该方法到现在的秒数,其精确度高于1微秒。可以使用该函数来记录程序执行的时间。下面是一个简单的例子:
 

import time
 
print time.clock() 
#1
time.sleep(2)
print time.clock() 
#2
time.sleep(3)
print time.clock() 
#3
 
#---- result
#3.91111160776e-06
#1.99919151736
#4.99922364435
time.gmtime

该函数原型为:time.gmtime([sec]),可选的参数sec表示从1970-1-1以来的秒数。其默认值为time.time(),函数返回time.struct_time类型的对象。(struct_time是在time模块中定义的表示时间的对象),下面是一个简单的例子:
 

import time
 
print time.gmtime() 
#获取当前时间的struct_time对象
print time.gmtime(time.time() - 24 * 60 * 60) 
#获取昨天这个时间的struct_time对象
 
#---- result
#time.struct_time(tm_year=2009, tm_mon=6, tm_mday=23, tm_hour=15, tm_min=16, tm_sec=3, tm_wday=1, tm_yday=174, tm_isdst=0)
#time.struct_time(tm_year=2009, tm_mon=6, tm_mday=22, tm_hour=15, tm_min=16, tm_sec=3, tm_wday=0, tm_yday=173, tm_isdst=0)
time.localtime

time.localtime与time.gmtime非常类似,也返回一个struct_time对象,可以把它看作是gmtime()的本地化版本。
time.mktime

time.mktime执行与gmtime(), localtime()相反的操作,它接收struct_time对象作为参数,返回用秒数来表示时间的浮点数。例如:
 

import time
 
#下面两个函数返回相同(或相近)的结果
print time.mktime(time.localtime())
print time.time()
time.strftime

time.strftime将日期转换为字符串表示,它的函数原型为:time.strftime(format[, t])。参数format是格式字符串(格式字符串的知识可以参考:time.strftime),可选的参数t是一个struct_time对象。下面的例子将struct_time对象转换为字符串表示:
 

import time
 
print time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime())
print time.strftime('Weekday: %w; Day of the yesr: %j')
 
#---- result
#2009-06-23 15:30:53
#Weekday: 2; Day of the yesr: 174
time.strptime

按指定格式解析一个表示时间的字符串,返回struct_time对象。该函数原型为:time.strptime(string, format),两个参数都是字符串,下面是一个简单的例子,演示将一个字符串解析为一个struct_time对象:
 

import time
 
print time.strptime('2009-06-23 15:30:53', '%Y-%m-%d %H:%M:%S')
 
#---- result
#time.struct_time(tm_year=2009, tm_mon=6, tm_mday=23, tm_hour=15, tm_min=30, tm_sec=53, tm_wday=1, tm_yday=174, tm_isdst=-1)

以上介绍的方法是time模块中最常用的几个方法,在Python手册中还介绍了其他的方法和属性,如:time.timezone, time.tzname …感兴趣的朋友可以参考Python手册 time 模块。

Python 相关文章推荐
python轻松实现代码编码格式转换
Mar 26 Python
详解在Python中处理异常的教程
May 24 Python
python多进程提取处理大量文本的关键词方法
Jun 05 Python
详解配置Django的Celery异步之路踩坑
Nov 25 Python
python opencv minAreaRect 生成最小外接矩形的方法
Jul 01 Python
Python实现Selenium自动化Page模式
Jul 14 Python
Pycharm+Python+PyQt5使用详解
Sep 25 Python
python加载自定义词典实例
Dec 06 Python
Selenium基于PIL实现拼接滚动截图
Apr 10 Python
Python性能分析工具py-spy原理用法解析
Jul 27 Python
Python基于Tkinter开发一个爬取B站直播弹幕的工具
May 06 Python
关于python中模块和重载的问题
Nov 02 Python
Python抽象类的新写法
Jun 18 #Python
Python实现的彩票机选器实例
Jun 17 #Python
Python基于Tkinter实现的记事本实例
Jun 17 #Python
Python基于Tkinter的HelloWorld入门实例
Jun 17 #Python
在Python的struct模块中进行数据格式转换的方法
Jun 17 #Python
Python实现的使用telnet登陆聊天室实例
Jun 17 #Python
Python使用urllib2模块实现断点续传下载的方法
Jun 17 #Python
You might like
php中通过curl模拟登陆discuz论坛的实现代码
2012/02/16 PHP
PHP7.1新功能之Nullable Type用法分析
2016/09/26 PHP
mac os快速切换多个PHP版本的方法
2017/03/07 PHP
PHP钩子与简单分发方式实例分析
2017/09/04 PHP
用jQuery模拟页面加载进度条的实现代码
2011/12/19 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
JavaScript中使用Math.PI圆周率属性的方法
2015/06/14 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
2015/12/07 Javascript
JavaScript比较当前时间是否在指定时间段内的方法
2016/08/02 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
jQuery获取复选框选中的当前行的某个字段的值
2017/09/15 jQuery
浅谈JavaScript 代码整洁之道
2018/10/23 Javascript
webpack开发环境和生产环境的深入理解
2018/11/08 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
Vue中img的src是动态渲染时不显示的解决
2019/11/14 Javascript
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
[15:41]教你分分钟做大人——灰烬之灵
2015/03/11 DOTA
Python简单连接MongoDB数据库的方法
2016/03/15 Python
Django项目中model的数据处理以及页面交互方法
2018/05/30 Python
python多线程同步实例教程
2019/08/11 Python
python爬虫开发之selenium模块详细使用方法与实例全解
2020/03/09 Python
Django REST Framework 分页(Pagination)详解
2020/11/30 Python
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
2013/01/09 HTML / CSS
C/C++程序员常见面试题二
2015/11/19 面试题
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
技校生自我鉴定
2013/12/08 职场文书
实习协议书范本
2014/04/22 职场文书
企业承诺书怎么写
2014/05/24 职场文书
档案工作汇报材料
2014/08/21 职场文书
信用卡工作证明模板
2014/09/14 职场文书
2015年办公室文员工作总结
2015/04/24 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server
php实例化对象的实例方法
2021/11/17 PHP
Nginx的gzip相关介绍
2022/05/11 Servers
详解NumPy中的线性关系与数据修剪压缩
2022/05/25 Python
vue递归实现树形组件
2022/07/15 Vue.js