上一篇
Python3 time模块详解与时间转换教程 - 从入门到精通
- Python
- 2025-08-04
- 1959
Python3 time模块详解与时间转换教程
全面掌握时间操作与转换技巧
什么是Python time模块?
Python的time
模块是标准库中处理时间的核心模块,提供了各种时间相关的功能:
- 获取当前时间(时间戳和结构化时间)
- 时间格式的转换(时间戳 ↔ 时间元组 ↔ 可读字符串)
- 时间延迟操作(sleep)
- 性能计时(perf_counter)
使用前只需导入模块:import time
时间的基本概念
时间戳 (Timestamp)
表示从1970年1月1日00:00:00 UTC开始计算的秒数(浮点数)
示例: 1698765432.12345
时间元组 (struct_time)
包含9个元素的元组,表示时间的各个组成部分:
(年, 月, 日, 时, 分, 秒, 星期, 一年中的第几天, 夏令时)
格式化时间字符串
人类可读的时间表示形式
示例: "2023-10-30 14:30:45"
常用格式: %Y-%m-%d %H:%M:%S
时间获取方法
1. 获取当前时间戳
import time current_timestamp = time.time() print(f"当前时间戳: {current_timestamp}") # 输出示例: 当前时间戳: 1698765432.12345
2. 获取当前时间元组
current_struct = time.localtime() # 本地时间 print("当前时间元组:", current_struct) # 输出示例: time.struct_time(tm_year=2023, tm_mon=10, tm_mday=30, ...) utc_struct = time.gmtime() # UTC时间 print("UTC时间元组:", utc_struct)
3. 获取格式化时间字符串
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) print("格式化时间:", formatted_time) # 输出示例: 格式化时间: 2023-10-30 14:30:45
时间转换方法
时间戳 → 时间元组
timestamp = 1698765432.12345 struct_time = time.localtime(timestamp) # 本地时间元组 # 或 utc_struct_time = time.gmtime(timestamp) # UTC时间元组
时间元组 → 时间戳
struct_time = (2023, 10, 30, 14, 30, 45, 0, 303, 0) timestamp = time.mktime(struct_time) print("转换后的时间戳:", timestamp)
时间元组 → 格式化字符串
struct_time = time.localtime() formatted = time.strftime("%Y年%m月%d日 %H时%M分%S秒", struct_time) print("自定义格式:", formatted) # 输出: 2023年10月30日 14时30分45秒
格式化字符串 → 时间元组
date_str = "2023-10-30 14:30:45" struct_time = time.strptime(date_str, "%Y-%m-%d %H:%M:%S") print("解析后的时间元组:", struct_time)
完整转换示例
import time # 1. 获取当前时间戳 timestamp = time.time() print(f"1. 当前时间戳: {timestamp}") # 2. 时间戳 -> 时间元组 struct_time = time.localtime(timestamp) print(f"2. 时间元组: {struct_time}") # 3. 时间元组 -> 格式化字符串 formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", struct_time) print(f"3. 格式化时间: {formatted_time}") # 4. 格式化字符串 -> 时间元组 parsed_time = time.strptime(formatted_time, "%Y-%m-%d %H:%M:%S") print(f"4. 解析回时间元组: {parsed_time}") # 5. 时间元组 -> 时间戳 new_timestamp = time.mktime(parsed_time) print(f"5. 转换回时间戳: {new_timestamp}") # 6. 时间差计算 time_diff = abs(new_timestamp - timestamp) print(f"6. 转换过程时间差: {time_diff:.6f}秒")
常用格式化符号说明
符号 | 含义 | 示例 |
---|---|---|
%Y | 四位数的年份 | 2023 |
%m | 月份(01-12) | 10 |
%d | 月内中的一天(01-31) | 30 |
%H | 24小时制小时数(00-23) | 14 |
%M | 分钟数(00-59) | 30 |
%S | 秒(00-59) | 45 |
© 2023 Python时间处理教程 | 掌握时间操作的核心技巧
本文由DengDu于2025-08-04发表在吾爱品聚,如有疑问,请联系我们。
本文链接:https://521pj.cn/20257300.html
发表评论