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
相关产品推荐
相关产品推荐

