Чтобы получить все дни текущего месяца с помощью PowerShell, вы можете использовать следующие методы:
Метод 1: использование командлета Get-Date и циклический перебор дней
$currentMonth = Get-Date -Format "MM"
$currentYear = Get-Date -Format "yyyy"
$daysInMonth = [System.DateTime]::DaysInMonth($currentYear, $currentMonth)
for ($day = 1; $day -le $daysInMonth; $day++) {
$date = Get-Date -Year $currentYear -Month $currentMonth -Day $day
Write-Output $date.DayOfWeek
}
Метод 2: использование класса [System.Globalization.DateTimeFormatInfo]
$currentMonth = Get-Date -Format "MM"
$currentYear = Get-Date -Format "yyyy"
$dateTimeInfo = [System.Globalization.DateTimeFormatInfo]::CurrentInfo
$daysInMonth = $dateTimeInfo.Calendar.GetDaysInMonth($currentYear, $currentMonth)
for ($day = 1; $day -le $daysInMonth; $day++) {
$date = Get-Date -Year $currentYear -Month $currentMonth -Day $day
Write-Output $date.DayOfWeek
}
Метод 3. Использование структуры [System.DateTime] и метода AddDays
$currentMonth = Get-Date -Format "MM"
$currentYear = Get-Date -Format "yyyy"
$daysInMonth = [System.DateTime]::DaysInMonth($currentYear, $currentMonth)
$startDate = Get-Date -Year $currentYear -Month $currentMonth -Day 1
for ($day = 0; $day -lt $daysInMonth; $day++) {
$date = $startDate.AddDays($day)
Write-Output $date.DayOfWeek
}