写一个方法,获取某一个日期上一周, 周一到周五日期列表;
时间: 2024-09-06 10:03:13 浏览: 38
为了获取给定日期上一周周一到周五的日期列表,你可以创建一个函数,这个函数接受当前日期作为输入,并通过减去工作日的数量来计算每个目标日期。这里是一个简单的示例,假设我们使用Python的`dateutil.relativedelta`库来进行日期操作:
```python
from datetime import datetime, timedelta
from dateutil.relativedelta import relativedelta
def get_week_dates(start_date):
# 定义工作日的集合
weekdays = {datetime.weekday(date) for date in [0, 1, 2, 3, 4]} # 星期一到星期五分别对应0, 1, 2, 3, 4
# 获取上周一
start_monday = start_date - timedelta(days=start_date.weekday())
# 生成本周一到周五的日期列表
week_dates = []
for i in range(5):
next_day = start_monday + timedelta(days=i)
if next_day.weekday() in weekdays:
week_dates.append(next_day)
return week_dates
# 示例用法
current_date = datetime.now()
week_dates_list = get_week_dates(current_date)
print("上周一至周五的日期列表:", week_dates_list)
```
在这个例子中,`get_week_dates` 函数首先找出给定日期的前一天是周几,然后从那天开始算起,每天加一天,直到找到周一到周五的所有日期。