您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Python time模块怎么用
## 目录
1. [time模块概述](#1-time模块概述)
2. [时间表示形式](#2-时间表示形式)
- [时间戳](#21-时间戳)
- [结构化时间](#22-结构化时间)
- [格式化时间](#23-格式化时间)
3. [常用函数详解](#3-常用函数详解)
- [time()](#31-time)
- [localtime()/gmtime()](#32-localtimegmtime)
- [mktime()](#33-mktime)
- [strftime()/strptime()](#34-strftimestrptime)
- [sleep()](#35-sleep)
- [perf_counter()](#36-perf_counter)
4. [实际应用场景](#4-实际应用场景)
- [计时器功能](#41-计时器功能)
- [日志时间戳](#42-日志时间戳)
- [延时操作](#43-延时操作)
5. [注意事项](#5-注意事项)
6. [总结](#6-总结)
## 1. time模块概述
Python的`time`模块是处理时间相关操作的核心模块之一,它提供了各种时间相关的函数,可以用于获取当前时间、时间格式化、时间计算等操作。该模块主要基于C库函数实现,因此在不同平台上行为基本一致。
```python
import time
时间戳(Timestamp)表示从1970年1月1日00:00:00(UTC)开始计算的秒数(浮点数)。
timestamp = time.time()
print(timestamp) # 输出类似:1634567890.123456
结构化时间(struct_time)是一个包含9个元素的元组:
time.struct_time((
tm_year, # 年(如2023)
tm_mon, # 月(1-12)
tm_mday, # 日(1-31)
tm_hour, # 时(0-23)
tm_min, # 分(0-59)
tm_sec, # 秒(0-61,考虑闰秒)
tm_wday, # 周几(0-6,0是周一)
tm_yday, # 年中第几天(1-366)
tm_isdst # 夏令时标志(-1/0/1)
))
可读性更好的字符串时间表示:
formatted_time = "2023-10-20 14:30:00"
获取当前时间戳(浮点数)
current = time.time()
print(f"当前时间戳:{current}")
将时间戳转换为本地时间/UTC时间
local_time = time.localtime() # 不传参数则使用当前时间
utc_time = time.gmtime()
print("本地时间:", local_time)
print("UTC时间:", utc_time)
将struct_time转换为时间戳
struct_time = time.localtime()
timestamp = time.mktime(struct_time)
print("转换后的时间戳:", timestamp)
时间格式化与解析
# 时间转字符串
formatted = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print("格式化时间:", formatted)
# 字符串转时间
parsed_time = time.strptime("2023-10-20", "%Y-%m-%d")
print("解析后的时间:", parsed_time)
常用格式符号:
符号 | 含义 |
---|---|
%Y | 四位年份 |
%m | 月份(01-12) |
%d | 日(01-31) |
%H | 24小时制小时 |
%M | 分钟(00-59) |
%S | 秒(00-61) |
%A | 完整的星期名称 |
%B | 完整的月份名称 |
暂停程序执行指定秒数
print("开始等待...")
time.sleep(2.5) # 浮点数支持毫秒级精度
print("等待结束")
高精度计时器(用于性能测量)
start = time.perf_counter()
# 执行一些操作
time.sleep(1)
end = time.perf_counter()
print(f"耗时:{end - start:.6f}秒")
def countdown(seconds):
while seconds > 0:
print(f"剩余时间:{seconds}秒")
time.sleep(1)
seconds -= 1
print("时间到!")
countdown(5)
def log(message):
timestamp = time.strftime("[%Y-%m-%d %H:%M:%S]")
print(f"{timestamp} {message}")
log("系统启动")
time.sleep(1)
log("执行任务")
def fetch_data():
print("开始获取数据...")
time.sleep(3) # 模拟网络请求延迟
print("数据获取完成")
fetch_data()
localtime()
返回的是本地时间,gmtime()
返回UTC时间time()
通常精度约15ms,Unix系统更高strftime()
在某些平台可能不是线程安全的Python的time模块提供了丰富的时间处理功能:
掌握time模块的使用,可以高效处理大多数时间相关的编程需求。对于更复杂的时间操作(如时区转换),建议结合datetime模块一起使用。
# 综合示例:计算函数执行时间
def measure_time(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
@measure_time
def example_function():
time.sleep(1.5)
example_function()
通过本文的学习,你应该已经掌握了Python time模块的核心功能和使用方法。在实际开发中,根据具体需求选择合适的时间函数和表示形式,可以大大提高开发效率。 “`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。