一、模块导入
from datetime import 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
把时间 → 自定义字符串
常用格式符:
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) # 相差天数
六、常用格式符速查表
七、核心总结(必背)
- 1.
date.today() → 获取当前年月日 - 2.
datetime.now() → 获取当前完整时间 - 6. 开发 90% 场景只用:datetime + timedelta