python time的使用方法详细解析

 更新时间:2025年12月12日 09:43:05   作者:xingzhemengyou1  
Python的time模块提供了丰富的功能来处理时间相关任务,包括获取时间戳、格式化时间、程序延时和性能测量等,本文介绍python time的使用方法详细解析,感兴趣的朋友跟随小编一起看看吧

Python 的 time 模块是处理时间相关任务的核心内置库,它提供了从获取时间戳、格式化时间到程序延时和性能测量等一系列功能。以下是该模块主要功能与使用方法的详细解析。

一、 模块导入与基础时间获取

使用 time 模块的第一步是导入它。

import time

导入后,最基础的功能是获取当前时间,通常以时间戳(自1970年1月1日UTC以来的秒数,浮点数形式)表示。

current_timestamp = time.time()
print(f"当前时间戳: {current_timestamp}")

时间戳可读性差,time.ctime() 能将其转换为本地时间的字符串。

readable_time = time.ctime()
print(f"可读时间: {readable_time}")

二、 时间格式的转换与解析

time 模块在时间戳、结构化时间对象和字符串之间提供了灵活的转换工具。

  • 获取结构化时间
    • time.localtime([secs]): 将时间戳转换为本地时间的 struct_time 对象。若不提供参数,则使用当前时间。
    • time.gmtime([secs]): 将时间戳转换为UTC时间的 struct_time 对象。
  • 时间格式化与解析
local_time = time.localtime()
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print(f"格式化时间: {formatted_time}") # 输出如:2025-12-11 10:30:00
time_str = "2025-12-11 10:30:00"
parsed_time = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
print(parsed_time)
  • 格式化 (time.strftime()):将 struct_time 对象按指定格式转换为字符串。这是生成可读日期时间字符串的常用方法。
  • 解析 (time.strptime()):将格式匹配的字符串解析为 struct_time 对象。
  • 时间对象与时间戳互转
    • time.mktime(t): 将本地时间的 struct_time 对象转换回时间戳。
    • time.asctime([t]): 将 struct_time 对象转换为一个可读的字符串,格式类似于 ctime()

三、 程序控制与性能测量

  • 延时执行 time.sleep(seconds) 函数使当前线程暂停执行指定的秒数(可为浮点数),常用于控制节奏或模拟等待。这在网络爬虫中用于避免请求过快,或在自动化测试中模拟用户操作间隔。
print("开始")
time.sleep(2.5) # 暂停2.5秒
print("结束")
  • 测量时间间隔与性能
    • 简单测量:使用 time.time() 记录起止时间戳并计算差值,适用于测量代码段执行时间。
  • 高精度测量
    • time.perf_counter(): 返回一个具有最高可用精度的性能计数器的值,用于测量极短时间间隔。
    • time.process_time(): 返回当前进程的系统和用户CPU时间总和,用于测量代码实际消耗的CPU时间。
  • 单调时钟time.monotonic() 返回一个单调递增的时钟值,不受系统时间调整影响,适用于测量时间间隔。
  • 纳秒级精度time.time_ns() 返回纳秒级精度的时间戳。

四、 实际应用场景

  1. 创建定时任务:结合循环与 time.sleep(),可以实现简单的定时执行功能,例如定期备份文件或检查状态。
def scheduled_task():
    print(f"任务执行于 {time.strftime('%H:%M:%S')}")
while True:
    scheduled_task()
    time.sleep(5) # 每5秒执行一次
  1. 实现倒计时:利用 time.sleep() 和循环可以创建命令行倒计时。
  2. 计算函数执行时间:使用装饰器模式可以优雅地为函数添加计时功能,便于性能分析和调试。
import time
def timer_decorator(func):
    def wrapper(*args, **kwargs):
        start = time.perf_counter()
        result = func(*args, **kwargs)
        end = time.perf_counter()
        print(f"{func.__name__} 执行耗时: {end - start:.6f} 秒")
        return result
    return wrapper
@timer_decorator
def my_function():
    time.sleep(1)
my_function()
  1. 多线程中的时间控制:在多线程编程中,time.sleep() 常用于控制不同线程的执行节奏或间隔。

五、 注意事项与与其他模块的协作

  • 时区处理localtime()gmtime() 分别提供本地和UTC时间,在处理跨时区应用时需注意区分。
  • 格式匹配:使用 strptime() 解析字符串时,格式字符串必须与时间字符串严格匹配,否则会引发错误。
  • 模块协作:对于更复杂的日期时间操作(如日期加减、比较),datetime 模块功能更强大。对于需要事件调度的场景,可以参考 sched 模块。calendar 模块则专注于日历相关的操作。

总结

Python 的 time 模块是一个功能全面且直接的工具集,涵盖了从基础时间获取、格式化、程序延时到高精度性能测量的核心需求。掌握其常用函数如 time()sleep()strftime()/strptime()localtime()/gmtime() 以及 perf_counter(),能够高效地解决开发中大多数与时间相关的编程任务。对于更复杂的日期时间处理,可结合 datetime 等模块共同使用。

到此这篇关于python time的使用的文章就介绍到这了,更多相关python time使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python matplotlib实战之箱型图绘制

    Python matplotlib实战之箱型图绘制

    箱型图(Box Plot),也称为盒须图或盒式图,是一种用作显示一组数据分布情况的统计图,因型状如箱子而得名,本文主要为大家介绍了如何使用Matplotlib绘制箱型图,需要的小伙伴可以参考下
    2023-08-08
  • 使用Pandas实现Excel中的数据透视表的项目实践

    使用Pandas实现Excel中的数据透视表的项目实践

    数据透视表是一种非常强大的工具,它可以帮助我们快速汇总、分析和可视化大量数据,本文主要介绍了使用Pandas实现Excel中的数据透视表的项目实践,感兴趣的可以了解一下
    2025-05-05
  • Python解决鸡兔同笼问题的方法

    Python解决鸡兔同笼问题的方法

    这篇文章主要介绍了Python解决鸡兔同笼问题的方法,分析了鸡兔同笼问题的原理与解决思路,并给出了Python实现的代码,非常具有参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • python内置模块pathlib.Path类操作目录和文件的使用

    python内置模块pathlib.Path类操作目录和文件的使用

    本文主要介绍了python内置模块pathlib.Path类操作目录和文件的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-05-05
  • python实现的发邮件功能示例

    python实现的发邮件功能示例

    这篇文章主要介绍了python实现的发邮件功能,结合实例形式分析了Python使用网易邮箱发送邮件的相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • Python分支结构(switch)操作简介

    Python分支结构(switch)操作简介

    这篇文章主要介绍了Python分支结构(switch)操作简介,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • python实现自动清理重复文件

    python实现自动清理重复文件

    这篇文章主要介绍了python如何实现自动清理重复文件,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-08-08
  • 使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例

    使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例

    这篇文章主要介绍了使用BeautifulSoup编写了一段爬虫程序获取百度搜索结果的标题和url的示例,大家参考使用吧
    2014-01-01
  • Python中自定义函方法与参数具有默认值的函数

    Python中自定义函方法与参数具有默认值的函数

    这篇文章主要介绍了Python中自定义函方法与参数具有默认值的函数,在Python编程中,可以使用已经定义好的函数,也可以自定义函数实现某些特殊的功能,更多相关资料,请需要的人参考下面文章内容
    2022-02-02
  • pytorch:model.train和model.eval用法及区别详解

    pytorch:model.train和model.eval用法及区别详解

    今天小编就为大家分享一篇pytorch:model.train和model.eval用法及区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论