date、time、datetime
创建和读取日期对象
date、time、datetime 是 CoddyKit 上的免费 Python Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Python Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Python Academy 课程共包含 4 节课。
认识 datetime 模块
Python 的 datetime 模块位于标准库中,为处理日历日期和时钟时间提供了工具。
date存储年、月和日。time存储小时、分钟、秒和微秒。datetime将两者合并到一个对象中。
使用 from datetime import date, time, datetime 导入它。
from datetime import date, time, datetime
print(date)
print(time)
print(datetime)创建 date
传入整数形式的年、月、日来构建 date。月份和日期从 1 开始,并会自动进行验证。
from datetime import date
birthday = date(1995, 7, 14)
print(birthday)读取 date 字段
日期的每个部分都可以作为属性访问:.year、.month 和 .day。它们是可以用于计算的普通整数。
from datetime import date
d = date(2026, 5, 30)
print('Year:', d.year)
print('Month:', d.month)
print('Day:', d.day)今天的日期
使用 date.today() 获取当前本地日期。它会返回一个不包含时间部分的 date 对象。
from datetime import date
today = date.today()
print('Today is', today)
print('It is the year', today.year)创建 time
time 对象表示时钟上的一个时刻。传入小时、分钟、秒(全部可选,默认值为 0)。小时范围为 0 到 23。
from datetime import time
lunch = time(12, 30, 0)
print(lunch)
print('Hour:', lunch.hour)
print('Minute:', lunch.minute)创建 datetime
datetime 将日期和时间合并在一起。传入年、月、日、小时、分钟、秒。如果省略时间部分,它们的默认值为 0。
from datetime import datetime
launch = datetime(2026, 5, 30, 9, 15, 0)
print(launch)
print('Day:', launch.day)
print('Hour:', launch.hour)当前时刻
datetime.now() 会返回当前本地日期和时间。这是为事件记录时间戳最常用的方式。
from datetime import datetime
now = datetime.now()
print('Now:', now)
print('Just the hour:', now.hour)拆分 datetime
datetime 可以返回自身的各个部分。调用 .date() 获取日期部分,调用 .time() 获取时间部分。
from datetime import datetime
moment = datetime(2026, 5, 30, 14, 45, 30)
print('Date part:', moment.date())
print('Time part:', moment.time())合并日期和时间
如果您有单独的 date 和 time 对象,可以使用 datetime.combine() 将它们合并为一个 datetime。
from datetime import date, time, datetime
d = date(2026, 5, 30)
t = time(8, 0)
combined = datetime.combine(d, t)
print(combined)比较日期
date 和 datetime 对象支持 <、> 和 == 等比较运算符。较早的日期被视为较小。
from datetime import date
a = date(2026, 1, 1)
b = date(2026, 12, 31)
print(a < b)
print(a == b)
print(max(a, b))日期的星期几
.weekday() 会以整数形式返回星期几,其中星期一为 0,星期日为 6。.isoweekday() 则使用 1 到 7。
from datetime import date
d = date(2026, 5, 30)
print('weekday():', d.weekday())
print('isoweekday():', d.isoweekday())快速检查
哪个表达式会同时返回当前本地日期和时间?
回顾:日期和时间
现在您已经了解三种核心类型:
date(y, m, d)用于表示日历日期,并提供.year、.month和.day。time(h, m, s)用于表示时钟时间。datetime(...)将两者合并,并可通过.date()和.time()将其拆分。
使用 date.today() 和 datetime.now() 获取当前时刻,并直接使用 < 和 > 比较对象。
from datetime import date, datetime
print('Today:', date.today())
print('Now:', datetime.now())常见问题解答
「date、time、datetime」课时是免费的吗?
是的 — 「date、time、datetime」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Python Academy 课程的其余内容,请升级到 CoddyKit PRO。 Python Academy 课程共包含 4 节课。
「date、time、datetime」这节课中我会学到什么?
创建和读取日期对象 你通过在浏览器中直接运行的动手代码来练习 Python Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Python Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Python Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「date、time、datetime」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Python Academy 课中编写并运行代码吗?
能。每节 Python Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- date、time、datetime
- Timedelta 与算术运算
- 格式化与解析
- 使用 zoneinfo 处理时区