本文目录导读:

在Python中获取昨日日期有多种方法,以下是几种常用的实现方式:
使用 datetime 模块(最常用)
from datetime import datetime, timedelta
# 获取昨日日期
yesterday = datetime.now() - timedelta(days=1)
print(yesterday.strftime('%Y-%m-%d')) # 输出格式:2024-01-19
只获取日期部分
from datetime import date, timedelta # 获取昨日的日期(不含时间) yesterday = date.today() - timedelta(days=1) print(yesterday) # 输出格式:2024-01-19
使用 dateutil 第三方库(更灵活)
from datetime import datetime
from dateutil.relativedelta import relativedelta
# 获取昨日日期
yesterday = datetime.now() - relativedelta(days=1)
print(yesterday.strftime('%Y-%m-%d'))
处理跨月/跨年的情况
from datetime import datetime, timedelta
# 获取昨日日期(自动处理跨月跨年)
yesterday = datetime.now() - timedelta(days=1)
print(f"年月日:{yesterday.year}-{yesterday.month:02d}-{yesterday.day:02d}")
实际应用示例
from datetime import datetime, timedelta
def get_yesterday(format='%Y-%m-%d'):
"""
获取昨日日期
:param format: 日期格式,默认 '%Y-%m-%d'
:return: 格式化后的日期字符串
"""
yesterday = datetime.now() - timedelta(days=1)
return yesterday.strftime(format)
# 使用示例
print("昨日日期:", get_yesterday())
print("昨日日期(带时间):", get_yesterday('%Y-%m-%d %H:%M:%S'))
print("昨日日期(中文格式):", get_yesterday('%Y年%m月%d日'))
常用日期格式说明
| 格式符 | 说明 | 示例 |
|---|---|---|
| %Y | 四位数年份 | 2024 |
| %m | 两位数月份 | 01 |
| %d | 两位数日期 | 19 |
| %H | 24小时制小时 | 14 |
| %M | 分钟 | 30 |
| %S | 秒 | 45 |
推荐使用第一种方法,既简单又不需要额外安装第三方库。