Private/Get-LastSixMonthsDateRanges.ps1
function Get-LastSixMonthsDateRanges { param ( [string]$Format = 'yyyy-MM-dd' ) $Date = (Get-Date) $Year = $Date.Year $Month = $Date.AddMonths(-6) $Ranges = @{} while ($Month -lt (Get-Date $Date -day 1)) { $Month = $Month.AddMonths(1) $Range = @{ 'begin' = Get-Date $Month -Format $Format 'end' = Get-Date ($Month.AddDays([DateTime]::DaysInMonth($Month.Year, $Month.Month) - 1)) -Format $Format } $Ranges.Add((Get-Date $Month -Format MMMMMMMMM), $Range) } Write-Output $Ranges } |