显示页面讨论过去修订反向链接回到顶部 本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。 ====== 第二十四章:datetime模块 ====== ===== 本章目标 ===== 完成本章学习后,你将能够: * 处理日期和时间 * 进行时区转换 * 格式化日期时间 * 计算时间差 ===== 日期时间基础 ===== <code python> from datetime import datetime, date, time, timedelta # 当前日期时间 now = datetime.now() print(now) # 2024-01-15 10:30:45.123456 # 当前日期 today = date.today() print(today) # 2024-01-15 # 创建特定日期时间 dt = datetime(2024, 1, 15, 10, 30, 0) d = date(2024, 1, 15) t = time(10, 30, 0) </code> ===== 格式化与解析 ===== <code python> from datetime import datetime # 格式化 dt = datetime.now() print(dt.strftime("%Y-%m-%d %H:%M:%S")) # 2024-01-15 10:30:45 print(dt.strftime("%A, %B %d, %Y")) # Monday, January 15, 2024 # 解析 dt = datetime.strptime("2024-01-15", "%Y-%m-%d") # ISO格式 dt = datetime.fromisoformat("2024-01-15T10:30:00") print(dt.isoformat()) </code> ===== 时间计算 ===== <code python> from datetime import datetime, timedelta now = datetime.now() # 加减时间 future = now + timedelta(days=7, hours=3) past = now - timedelta(weeks=1) # 时间差 diff = future - now print(diff.days) # 7 print(diff.seconds) # 10800 (3小时) print(diff.total_seconds()) # 比较 print(future > now) # True </code> ===== 时区处理 ===== <code python> from datetime import datetime, timezone, timedelta import pytz # 第三方库 # UTC时间 utc = datetime.now(timezone.utc) # 创建时区 china_tz = timezone(timedelta(hours=8)) beijing = datetime.now(china_tz) # 使用pytz ny_tz = pytz.timezone('America/New_York') ny_time = datetime.now(ny_tz) # 时区转换 utc_time = datetime.now(pytz.UTC) beijing_time = utc_time.astimezone(pytz.timezone('Asia/Shanghai')) </code> ===== 本章练习 ===== 1. 实现日期计算器 2. 实现倒计时功能 3. 处理时区转换 4. 解析各种日期格式 下一章:[[python_course:chapter25|第二十五章:collections与itertools]] 登录 Detach Close 该主题尚不存在 您访问的页面并不存在。如果允许,您可以使用创建该页面按钮来创建它。 python/chapter24.txt 最后更改: 2026/04/09 14:34由 张叶安 登录