You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask后端实现getPreviousDay辅助函数:获取指定YYYY-MM-DD格式日期的前一天日期

实现Flask的getPreviousDay辅助函数

嘿,这事儿不难!咱们用Python自带的datetime模块就能轻松搞定,不用额外装包,代码还简洁可靠。直接给你完整实现:

from datetime import datetime, timedelta

def getPreviousDay(date):
    '''接收"YYYY-MM-DD"格式的日期字符串,返回前一天的同格式字符串'''
    try:
        # 把字符串转成datetime对象
        current_date = datetime.strptime(date, "%Y-%m-%d")
        # 减去一天的时间间隔
        previous_date = current_date - timedelta(days=1)
        # 转回指定格式的字符串返回
        return previous_date.strftime("%Y-%m-%d")
    except ValueError:
        # 处理日期格式错误的情况,可根据业务需求调整返回逻辑
        return "Invalid date format. Please use 'YYYY-MM-DD'."

# 示例用法
current_day = "2022-09-29" #YYYY-MM-DD
yesterday = getPreviousDay(current_day)
print(yesterday)  # 输出: 2022-09-28

关键细节说明:

  • datetime.strptime(date, "%Y-%m-%d"):把前端传入的字符串日期转换成Python可操作的datetime对象,%Y-%m-%d严格对应"年-月-日"的格式要求。
  • timedelta(days=1):代表一天的时间差,用它对日期做减法就能精准得到前一天,哪怕是跨月、跨年的情况(比如从2023-01-01回到2022-12-31)也能正确处理。
  • strftime("%Y-%m-%d"):把处理后的datetime对象再转回"YYYY-MM-DD"格式的字符串,完美匹配前端的返回需求。
  • 新增try-except块:避免前端传错日期格式导致服务报错,你可以根据实际业务场景调整异常处理逻辑(比如返回空字符串、抛出自定义异常等)。

内容的提问来源于stack exchange,提问作者Josal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 16:19:06