Python使用datetime模块处理日期时间,通过datetime.now()获取当前时间,today()获取当前日期;利用strftime格式化输出,strptime解析字符串;结合timedelta进行日期加减计算;支持ZoneInfo处理时区。

Python处理日期主要依赖内置的datetime模块,这个模块提供了日期、时间、时间间隔等操作的支持。掌握基本用法后,能轻松完成时间格式转换、计算间隔、获取当前时间等常见任务。
获取当前日期和时间
使用datetime.now()可以快速获取系统当前的日期和时间。
from datetime import datetime获取当前完整时间
now = datetime.now() print(now) # 输出:2025-04-05 14:30:25.123456
只获取当前日期
today = datetime.today() print(today.date()) # 输出:2025-04-05
日期格式化与解析
在读取或输出日期时,经常需要在字符串和datetime对象之间转换。strftime用于格式化输出,strptime用于解析字符串。
from datetime import datetime将datetime转为字符串
now = datetime.now() formatted = now.strftime("%Y年%m月%d日 %H:%M") print(formatted) # 输出:2025年04月05日 14:30
将字符串转为datetime对象
date_str = "2025-03-20 09:15" parsed = datetime.strptime(date_str, "%Y-%m-%d %H:%M") print(parsed) # 输出:2025-03-20 09:15:00
常用格式符:%Y(四位年)、%m(月份)、%d(日期)、%H(小时)、%M(分钟)、%S(秒)。
立即学习“Python免费学习笔记(深入)”;
日期计算与时间差
通过timedelta可以进行日期加减操作,比如计算几天后的日期,或两个时间之间的差值。
from datetime import datetime, timedelta当前时间
now = datetime.now()
3天后的时间
future = now + timedelta(days=3) print(future)
1小时前的时间
past = now - timedelta(hours=1) print(past)
计算两个时间的差
start = datetime(2025, 3, 1) end = datetime(2025, 3, 10) diff = end - start print(diff.days) # 输出:9
处理时区(可选进阶)
如果项目涉及多个地区,推荐使用zoneinfo模块(Python 3.9+)来处理时区。
from datetime import datetime from zoneinfo import ZoneInfo设置不同时区的时间
beijing_time = datetime.now(ZoneInfo("Asia/Shanghai")) newyork_time = datetime.now(ZoneInfo("America/New_York"))
print("北京:", beijing_time) print("纽约:", newyork_time)
这样可以避免因时区不同导致的时间错误。
基本上就这些。日常开发中,datetime搭配strftime/strptime和timedelta就能解决大部分问题。不需要额外库的情况下,标准模块足够实用。










