Python datetime模块基础入门
在编程中,日期和时间的处理是常见且重要的任务。Python提供了强大而灵活的datetime模块,让你能够轻松管理日期、时间、时间间隔以及格式化操作。
如果你曾困惑如何在Python中获取今天的日期、计算两个日期之间的差值,或者将字符串转换为日期对象,本文将为你提供完整的解答,并附上可直接运行的代码示例。
什么是datetime模块
datetime模块是Python标准库的一部分,提供了用于处理时间和日期的类。该模块是内置模块,无需额外安装即可使用。
通过datetime模块,你可以实现以下功能:
- 获取当前的日期和时间
- 对日期进行算术运算
- 格式化日期以及在不同格式间转换
- 通过timedelta类处理时间间隔
- 管理时区信息
导入模块的标准方式如下:
import datetime
获取当前日期和时间
如何获取今天的日期
获取当前日期是最常见的操作之一。使用date类的today()方法即可实现:
from datetime import date
today = date.today()
print(f"今天的日期是:{today}")
输出格式为YYYY-MM-DD,例如:2025-05-09。
同时获取当前时间和日期
如果需要同时获取日期和时间,请使用datetime类和now()方法:
from datetime import datetime
now = datetime.now()
print(f"当前的日期和时间:{now}")
提取日期和时间的各个组成部分
datetime模块允许你轻松提取日期和时间的各个部分:
current_time = datetime.now()
print(f"年份:{current_time.year}")
print(f"月份:{current_time.month}")
print(f"日期:{current_time.day}")
print(f"小时:{current_time.hour}")
print(f"分钟:{current_time.minute}")
print(f"秒钟:{current_time.second}")
日期和时间的格式化
格式化基础
很多时候我们需要将日期以更易读的形式呈现。这时可以使用strftime()方法,通过指定格式代码来控制输出样式:
now = datetime.now()
formatted = now.strftime("%d-%m-%Y %H:%M:%S")
print(f"格式化后的日期和时间:{formatted}")
常用格式化代码
datetime模块支持多种格式化代码:
- %Y — 四位数的年份,例如:2025
- %m — 带前导零的月份,例如:05
- %d — 月份中的日期,例如:09
- %H — 24小时制的小时,例如:14
- %M — 分钟,例如:30
- %S — 秒钟,例如:45
- %A — 星期几的完整名称,例如:Friday
- %B — 月份的完整名称,例如:May
将字符串转换为日期
如果你有一个日期字符串,需要将其转换为datetime对象,可以使用strptime()方法:
from datetime import datetime
date_string = "09-05-2025"
converted_date = datetime.strptime(date_string, "%d-%m-%Y")
print(f"转换后的日期:{converted_date}")
日期的算术运算
计算两个日期之间的差值
datetime模块可以轻松计算两个日期之间的天数差,结果以timedelta对象表示:
from datetime import date
date1 = date(2025,