文章目录
- 偏底层,围绕 时间戳(timestamp) 设计。 主要是对 C 语言库的简单封装。 适合做程序暂停、性能测量、与操作系统时间打交道。
- 函数 描述 time.time() 返回当前时间戳(浮点数) time.sleep(seconds) 暂停执行若干秒 time.localtime([secs]) 将时间戳转成本地时间结构 time.gmtime([secs]) 转为 UTC 时间结构 time.strftime(format, t) 格式化时间结构为字符串 time.strptime(string, format) 将时间字符串解析为时间结构 time.mktime(t) 将时间结构转为时间戳 time.perf_counter() 高精度计时(适合测量程序运行时间)
- import time # 当前时间戳 print(time.time()) # 当前本地时间结构 print(time.localtime()) # 格式化为字符串 print(time.strftime(“%Y-%m-%d %H:%M:%S”, time.localtime())) # 字符串转为结构 print(time.strptime(“2025-08-04 10:30:12”, “%Y-%m-%d %H:%M:%S”))
- 高层次、更面向对象。 支持 日期计算、时间间隔(timedelta)、时区(timezone)。 更加直观、易读,是处理时间的首选库。
- 类 描述 datetime.datetime 表示日期+时间(最常用) datetime.date 仅表示日期 datetime.time 仅表示时间 datetime.timedelta 表示时间差 datetime.timezone 表示时区偏移
- from datetime import datetime, timedelta # 当前时间 now = datetime.now() print(“现在时间:”, now) # 格式化为字符串 print(now.strftime(“%Y-%m-%d %H:%M:%S”)) # 字符串转 datetime dt = datetime.strptime(“2025-08-04 10:30:12”, “%Y-%m-%d %H:%M:%S”) print(“解析后:”, dt) # 时间加减 tomorrow = now + timedelta(days=1) print(“明天:”, tomorrow) # 转时间戳 print(“时间戳:”, now.timestamp())
目录
- 🧭 一、time模块详解
- 1. 概述:
- 2. 常用函数:
- 3. 示例:
- 📅 二、datetime模块详解
- 1. 概述:
- 2. 常用类与方法:
- 常用函数/方法:
- 3. 示例:
- 🔍 三、两者对比总结
- ✅ 建议使用场景
- 偏底层,围绕 时间戳(timestamp) 设计。
- 主要是对 C 语言库的简单封装。
- 适合做程序暂停、性能测量、与操作系统时间打交道。
| 函数 | 描述 |
|---|---|
time.time() |
返回当前时间戳(浮点数) |
time.sleep(seconds) |
暂停执行若干秒 |
time.localtime([secs]) |
将时间戳转成本地时间结构 |
time.gmtime([secs]) |
转为 UTC 时间结构 |
time.strftime(format, t) |
格式化时间结构为字符串 |
time.strptime(string, format) |
将时间字符串解析为时间结构 |
time.mktime(t) |
将时间结构转为时间戳 |
time.perf_counter() |
高精度计时(适合测量程序运行时间) |
import time
# 当前时间戳
print(time.time())
# 当前本地时间结构
print(time.localtime())
# 格式化为字符串
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
# 字符串转为结构
print(time.strptime("2025-08-04 10:30:12", "%Y-%m-%d %H:%M:%S"))
- 高层次、更面向对象。
- 支持 日期计算、时间间隔(timedelta)、时区(timezone)。
- 更加直观、易读,是处理时间的首选库。
| 类 | 描述 |
|---|---|
datetime.datetime |
表示日期+时间(最常用) |
datetime.date |
仅表示日期 |
datetime.time |
仅表示时间 |
datetime.timedelta |
表示时间差 |
datetime.timezone |
表示时区偏移 |
| 方法 | 描述 |
|---|---|
datetime.now() |
当前本地时间 |
datetime.utcnow() |
当前 UTC 时间 |
datetime.strptime(str, format) |
字符串转为 datetime 对象 |
datetime.strftime(format) |
datetime 转字符串 |
datetime.fromtimestamp(ts) |
时间戳转为 datetime |
datetime.timestamp() |
datetime 转时间戳 |
+/- timedelta |
时间加减 |
from datetime import datetime, timedelta
# 当前时间
now = datetime.now()
print("现在时间:", now)
# 格式化为字符串
print(now.strftime("%Y-%m-%d %H:%M:%S"))
# 字符串转 datetime
dt = datetime.strptime("2025-08-04 10:30:12", "%Y-%m-%d %H:%M:%S")
print("解析后:", dt)
# 时间加减
tomorrow = now + timedelta(days=1)
print("明天:", tomorrow)
# 转时间戳
print("时间戳:", now.timestamp())
| 特性 | time 模块 | datetime 模块 |
|---|---|---|
| 设计风格 | 接近底层、过程式 | 高层次、面向对象 |
| 操作单位 | 时间戳、struct_time | datetime 对象 |
| 易用性 | 略复杂,需格式转换 | 更直观 |
| 时间计算 | 不支持时间差计算 | 支持(使用 timedelta) |
| 时区处理 | 不方便 | 内建 timezone |
| 使用场景 | 性能测试、低层系统时间操作 | 日期处理、格式化、时间计算等 |
| 场景 | 推荐模块 |
|---|---|
| 精确计时、延时、性能测试 | time(sleep、perf_counter) |
| 日期加减、字符串转换、时间戳操作 | datetime |
| 多时区处理 | datetime + pytz 或 zoneinfo(Python 3.9+) |
到此这篇关于Python中的time与datetime的文章就介绍到这了,更多相关python time与datetime内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!
您可能感兴趣的文章:
- Python时间处理模块time和datetime详解
- Python之日期和时间包datetime的使用
- Python基本知识之datetime模块详解
- Python时间管理黑科技之datetime函数详解
- Python常用模块之datetime模块详解
- Python中的DateTime和TimeDelta详解