Как можно получить список всех дней определенного месяца, начиная с понедельника и заканчивая воскресеньем?

Как можно получить массив дней месяца, начиная с понедельника и заканчивая воскресеньем, чтобы в итоге был массив вида (день, неделя) для всего месяца?
  • 9 мая 2024 г. 7:40
Ответы на вопрос 2
Для получения списка всех дней определенного месяца, начиная с понедельника, вы можете использовать следующий код на Python:

```python
import calendar

def get_days_of_week(year, month):
    cal = calendar.Calendar()
    weeks = cal.monthdayscalendar(year, month)
    
    days = []
    for week in weeks:
        for day in week:
            if day != 0:
                days.append(day)
    
    return days

# Пример использования
year = 2022
month = 4
days_of_week = get_days_of_week(year, month)
print(days_of_week)
```

Для получения массива дней месяца, начиная с понедельника и заканчивая воскресеньем, можно модифицировать функцию следующим образом:

```python
def get_days_of_week_with_week(year, month):
    cal = calendar.Calendar()
    weeks = cal.monthdayscalendar(year, month)
    
    days_with_week = []
    for week_num, week in enumerate(weeks, start=1):
        for day in week:
            if day != 0:
                days_with_week.append((day, week_num))
    
    return days_with_week

# Пример использования
days_of_week_with_week = get_days_of_week_with_week(year, month)
print(days_of_week_with_week)
```

Теперь массив `days_of_week_with_week` будет содержать кортежи с номером дня и номером недели для каждого дня месяца.
const getWeekdaysOfMonth = (year, month) =>
  Array.from(
    { length: new Date(year, month, 0).getDate() },
    (_, i) => new Date(year, ~-month, -~i)
      .toLocaleString('ru-RU', { day: 'numeric', weekday: 'short' })
  );
Похожие вопросы