Python 中的 time 模块

简介: time 模块包含一些函数用于获取时钟时间和处理器的运行时间,还提供了基本解析和字符串格式化工具。它是由底层 C 库提供与时间相关的函数,因此在不同的平台上会有细微的差别。

写代码时,常常会遇到处理时间和日期的问题。在 Python 中,与时间处理最相关的模块是 time 和 datetime。今天我们介绍下 time 模块的常用功能。


time 模块包含一些函数用于获取时钟时间和处理器的运行时间,还提供了基本解析和字符串格式化工具。它是由底层 C 库提供与时间相关的函数,因此在不同的平台上会有细微的差别。


使用 time 模块前需要先引入模块

import time


time.localtime([seconds])


返回本地时间,类型为时间元组 time.struct_time。默认为当前时间,也可以接受时间戳参数。


所谓时间戳,是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。


local = time.localtime()
print(local)
print(time.localtime(1400000000))


输出


time.struct_time(tm_year=2016, tm_mon=10, tm_mday=8, 
tm_hour=16, tm_min=34, tm_sec=1, tm_wday=5, tm_yday=282, 
tm_isdst=0)
time.struct_time(tm_year=2014, tm_mon=5, tm_mday=14, 
tm_hour=0, tm_min=53, tm_sec=20, tm_wday=2, tm_yday=134, 
tm_isdst=0)


time.gmtime([secs])


与 localtime 类似,但返回的是格林威治天文时间下的时间元组,也就是0时区的时间。


print(time.gmtime())
print(time.gmtime(1400000000))


输出


time.struct_time(tm_year=2016, tm_mon=10, tm_mday=8, 
tm_hour=8, tm_min=49, tm_sec=31, tm_wday=5, tm_yday=282, 
tm_isdst=0)
time.struct_time(tm_year=2014, tm_mon=5, tm_mday=13, 
tm_hour=16, tm_min=53, tm_sec=20, tm_wday=1, tm_yday=133, 
tm_isdst=0)


time.asctime([tupletime])


接受时间元组并返回一个可读的形式为Weekday Month Day HH:MM:SS Year的字符。


在之前代码的基础上


asc = time.asctime(local)
print(asc)


输出


Sat Oct  8 16:34:01 2016


time.mktime(tupletime)


接受时间元组并返回时间辍。


time.mktime(local)


输出


1475915641.0


time.ctime()


返回当前时间,相当于 time.asctime(time.localtime())。


print(time.ctime())


输出


Sat Oct  8 16:37:37 2016


time.sleep(second)


设定当前线程的休眠时间,走完设定时间后再次启动当前线程。


这个方法常被用来控制程序的延时运行。比如在抓取网页的过程中,增加 sleep 休眠,控制抓取请求的频率不要过高,防止被对方服务器拒绝。


print(time.ctime())
time.sleep(5)
print(time.ctime())


输出


Sat Oct  8 16:45:07 2016
Sat Oct  8 16:45:12 2016


time.time()


返回当前时间的时间戳。


print(time.time())


输出


1475917025.59118


在实际应用中,这个函数也经常被用于查看一个代码片的执行时间。在精度要求不是很高的情况下,可以利用执行代码前后的time.time()之差进行计算。


start = time.time()
c = 0
for i in range(1000000):
    c += i
end = time.time()
print(end-start)


输出


0.151529073715


也可以将代码片放入计算时间的装饰器中进行运行。


def timer(func):
    start = time.time()
    func()
    end = time.time()
    print(end-start)
    return func
@timer
def fn():
    c = 0
    for i in range(1000000):
        c += i
fn()


time.clock()


以浮点数计算的秒数返回当前的 CPU 时间。


在不同的系统上含义不同。在UNIX系统上,它返回的是"进程时间",它是用秒表示的浮点数(时间戳)。而在WINDOWS中,第一次调用,返回的是进程运行的实际时间,而第二次之后的调用是自第一次调用以后到现在的运行时间。


start_time = time.clock()
print(start_time)
time.sleep(3)
print(time.clock())


输出


5.701806902607436e-07
3.0820826419892464


time.strftime(fmt[,tupletime])


接收以时间元组,并返回字符串。


my_format = "%Y/%m/%d %H:%M:%S"
my_time = time.localtime()
print(my_time)
print(time.strftime(my_format, my_time))


输出


time.struct_time(tm_year=2016, tm_mon=10, tm_mday=8, 
tm_hour=17, tm_min=8, tm_sec=7, tm_wday=5, tm_yday=282, 
tm_isdst=0)
2016/10/08 17:08:07


输出参数中,格式化字符串的含义:


格式化字符串 日期/时间单元 范围
%Y 1900-...
%m 12-Jan
%B 月名 January,...
%b 月名缩写 Jan,...
%d 31-Jan
%A 星期 Sunday,...
%a 星期缩写 Sun,...
%H 时(24时制) 00-23
%I 时(12时制) 12-Jan
%p 上午/下午 AM,PM
%M 00-59
%S 00-59





近期文章推荐阅读:

刷票有风险,抢购需谨慎

爆款游戏《贪吃蛇大作战》的 Python 实现

Python 与 Excel 不得不说的事

想用 Python 做数据分析?先玩玩这个再说

用 Python 实现你的量化交易策略

Python爬虫:一些常用的爬虫技巧总结

Python 抓取网页乱码原因分析

一些常见的新手问题

相关文章
|
4天前
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
12 5
|
14天前
|
Java 程序员 开发者
Python的gc模块
Python的gc模块
|
17天前
|
数据采集 Web App开发 JavaScript
python-selenium模块详解!!!
Selenium 是一个强大的自动化测试工具,支持 Python 调用浏览器进行网页抓取。本文介绍了 Selenium 的安装、基本使用、元素定位、高级操作等内容。主要内容包括:发送请求、加载网页、元素定位、处理 Cookie、无头浏览器设置、页面等待、窗口和 iframe 切换等。通过示例代码帮助读者快速掌握 Selenium 的核心功能。
59 5
|
20天前
|
Python
SciPy 教程 之 SciPy 模块列表 6
SciPy教程之常量模块介绍:涵盖公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率及力学单位。示例展示了角度单位转换为弧度的几个常用常量。
17 7
|
20天前
|
Python
python的时间操作time-应用
【10月更文挑战第20天】 python模块time的函数使用。
41 7
|
20天前
|
Python
SciPy 教程 之 SciPy 模块列表 7
`scipy.constants` 模块提供了常用的时间单位转换为秒数的功能。例如,`constants.hour` 返回 3600.0 秒,表示一小时的秒数。其他常用时间单位包括分钟、天、周、年和儒略年。
17 6
|
18天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
16 1
|
18天前
|
XML 前端开发 数据格式
超级详细的python中bs4模块详解
Beautiful Soup 是一个用于从网页中抓取数据的 Python 库,提供了简单易用的函数来处理导航、搜索和修改分析树。支持多种解析器,如 Python 标准库中的 HTML 解析器和更强大的 lxml 解析器。通过简单的代码即可实现复杂的数据抓取任务。本文介绍了 Beautiful Soup 的安装、基本使用、对象类型、文档树遍历和搜索方法,以及 CSS 选择器的使用。
48 1
|
21天前
|
Python
python的时间操作time-函数介绍
【10月更文挑战第19天】 python模块time的函数使用介绍和使用。
26 4
|
19天前
|
Python
SciPy 教程 之 SciPy 模块列表 9
SciPy教程之常量模块介绍,涵盖多种单位类型,如公制、质量、角度、时间、长度、压强等。示例展示了如何使用`scipy.constants`模块查询不同压强单位对应的帕斯卡值,包括atm、bar、torr、mmHg和psi。
13 1