time和datetime

Python 中的 timedatetime 模块都用于处理时间和日期,但它们的适用场景不同:

  • time:主要用于 处理时间戳(timestamp),适用于 计算时间间隔执行睡眠(sleep) 操作。
  • datetime:用于 处理日期和时间,支持 格式化、运算、转换等

1. time 模块(处理时间戳)

time 模块主要使用 时间戳(从 1970-01-01 00:00:00 UTC 以来的秒数)。

1.1 获取当前时间戳

import time

timestamp = time.time()
print(timestamp)  # 输出类似于:1707361200.123456

1.2 延迟执行(sleep)

print("开始...")
time.sleep(2)  # 休眠 2 秒
print("结束")

1.3 格式化时间(strftime

time_str = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(time_str)  # 输出类似于:2025-02-08 14:30:00

1.4 解析时间字符串(strptime

time_tuple = time.strptime("2025-02-08 14:30:00", "%Y-%m-%d %H:%M:%S")
print(time_tuple)  # 输出 time.struct_time 对象

1.5 获取当前 CPU 时间

print(time.process_time())  # 计算 CPU 运行的时间

2. datetime 模块(处理日期时间)

datetime 模块比 time 更加强大,支持日期运算、格式转换等。

2.1 获取当前日期和时间

from datetime import datetime

now = datetime.now()
print(now)  # 输出类似于:2025-02-08 14:30:00.123456

2.2 创建指定日期

dt = datetime(2024, 12, 25, 10, 30, 0)
print(dt)  # 2024-12-25 10:30:00

2.3 时间格式化

dt_str = now.strftime("%Y-%m-%d %H:%M:%S")
print(dt_str)  # 2025-02-08 14:30:00

2.4 解析时间字符串

dt = datetime.strptime("2025-02-08 14:30:00", "%Y-%m-%d %H:%M:%S")
print(dt)  # datetime 对象

2.5 计算时间差(timedelta

from datetime import timedelta

tomorrow = now + timedelta(days=1)
print(tomorrow)  # 明天的时间

one_hour_later = now + timedelta(hours=1)
print(one_hour_later)  # 一小时后的时间

2.6 转换为时间戳

timestamp = now.timestamp()
print(timestamp)  # 1707361200.123456

2.7 从时间戳转换回 datetime

dt = datetime.fromtimestamp(1707361200)
print(dt)  # 2025-02-08 14:30:00

3. time vs datetime 对比总结

功能 time datetime
获取当前时间 time.time() datetime.now()
获取时间戳 time.time() datetime.timestamp()
解析时间字符串 time.strptime() datetime.strptime()
格式化时间 time.strftime() datetime.strftime()
计算时间间隔 time.sleep() timedelta
获取可读时间 time.localtime() 直接使用 datetime
支持日期运算

总结

  • 处理时间戳time
  • 处理日期、时间运算datetime

如果你要处理时间计算、格式转换,推荐使用 datetime。你有什么具体需求吗?😊

posted @   XieBuWan  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示