当前位置:首页>python>Python datetime 模块精讲

Python datetime 模块精讲

  • 2026-10-11 07:55:15
Python datetime 模块精讲

一、模块导入

from datetime import date, time, datetime, timedelta

四大核心类:

  • • date:处理年月日
  • • time:处理时分秒
  • • datetime:年月日 + 时分秒
  • • timedelta:时间间隔、时间加减

二、date 类(年月日)

1. 获取今天日期

today = date.today()
print(today)

2. 手动构造日期

d = date(2025, 5, 5)
print(d.year)   # 年
print(d.month)  # 月
print(d.day)    # 日

3. 星期获取

# 周一=0 … 周日=6
print(today.weekday())
# 周一=1 … 周日=7
print(today.isoweekday())

三、time 类(时分秒)

构造时间对象

t = time(14, 30, 20)
print(t.hour)    # 时
print(t.minute)  # 分
print(t.second)  # 秒

四、datetime 类(最常用 年月日+时分秒)

1. 获取当前系统时间

now = datetime.now()
print(now)

2. 手动构造时间

dt = datetime(2025, 5, 5, 18, 30, 10)
print(dt.year, dt.month, dt.day)
print(dt.hour, dt.minute, dt.second)

3. 格式化时间输出 strftime

把时间 → 自定义字符串
常用格式符:

  • • %Y 年 %m 月 %d 日
  • • %H 时 %M 分 %S 秒
now = datetime.now()
s = now.strftime("%Y-%m-%d %H:%M:%S")
print(s)

4. 字符串转时间 strptime

把字符串 → datetime 对象

s = "2025-05-05 12:30:00"
dt = datetime.strptime(s, "%Y-%m-%d %H:%M:%S")
print(dt)

5. date / time 互相转换

# datetime 转 date
d = now.date()

# datetime 转 time
t = now.time()

五、timedelta 时间间隔(时间加减神器)

1. 基本用法

可以加减:天、时、分、秒

# 间隔 3 天
delta = timedelta(days=3)

2. 时间往后推 3 天

now = datetime.now()
later = now + timedelta(days=3)
print(later)

3. 时间往前推 2 小时

before = now - timedelta(hours=2)
print(before)

4. 支持多参数组合

dt = now + timedelta(days=1, hours=2, minutes=30)

5. 两个时间相减 得到 timedelta

t1 = datetime(2025,5,1)
t2 = datetime(2025,5,5)
diff = t2 - t1
print(diff.days)  # 相差天数

六、常用格式符速查表

符号
含义
%Y
4位年份
%m
月份(01-12)
%d
日期(01-31)
%H
24小时制
%M
分钟
%S
秒

七、核心总结(必背)

  1. 1. date.today() → 获取当前年月日
  2. 2. datetime.now() → 获取当前完整时间
  3. 3. strftime 时间转字符串
  4. 4. strptime 字符串转时间对象
  5. 5. timedelta 做时间加减、计算时间差
  6. 6. 开发 90% 场景只用:datetime + timedelta

最新文章

随机文章