如何获取下一个指定星期几的日期?含当日为目标日期的处理
获取下一个周四的日期方案
你可以基于现有的函数逻辑,通过计算当前日期与周四的间隔天数来实现需求。核心思路是利用datetime.date的weekday()方法(周一到周日对应0-6,周四对应3),计算需要偏移的天数:
- 如果今天就是周四,偏移0天
- 如果今天在周四之前(周一到周三),偏移天数为
3 - 今天的weekday值 - 如果今天在周四之后(周五到周日),偏移天数为
3 - 今天的weekday值 + 7
下面是实现代码:
import datetime def get_date_from_today(d): tomorrow = datetime.date.today() + datetime.timedelta(days=d) return tomorrow.strftime("%Y/%m/%d") def get_next_thursday(): today = datetime.date.today() today_weekday = today.weekday() # 0=周一, 3=周四, 6=周日 # 计算需要偏移的天数 if today_weekday == 3: delta_days = 0 elif today_weekday < 3: delta_days = 3 - today_weekday else: delta_days = 3 - today_weekday + 7 # 复用你已有的函数获取目标日期 return get_date_from_today(delta_days) # 测试示例 print(get_next_thursday())
代码说明:
today.weekday()获取当前日期的周几索引,周四对应3- 根据当前周几计算需要向后偏移的天数:
- 今天是周四时,偏移0天,直接返回今日日期
- 今天在周四之前,直接补到周四的天数差
- 今天在周四之后,需要先补到本周日,再加上下周一到周四的天数(总共7 + (3 - today_weekday))
- 复用你已有的
get_date_from_today函数来生成格式化后的日期字符串
内容的提问来源于stack exchange,提问作者falukky
相关产品推荐
相关产品推荐

