Private/Get-DateFromWeekDay.ps1
function Get-DateFromWeekDay { param ( [Parameter(Mandatory, Position = 1)] [ValidateSet('This', 'Next')] [string]$Week, [Parameter(Mandatory, Position = 2)] [System.DayOfWeek]$DayOfWeek, [ValidateNotNullOrEmpty()] [DateTime]$ReferenceDate = (Get-Date) ) if ($Week -eq 'Next') { $ReferenceDate = $ReferenceDate.AddDays(7); } # In System.DayOfWeek, Sunday corresponds to 0. Make Monday correspond to 0, Tuesday to 1 etc. to match AH site $DayOfWeek = switch ($DayOfWeek) { 'Sunday' { $DayOfWeek + 7 } default { $DayOfWeek } } $ReferenceDate.Date.AddDays(-$ReferenceDate.DayOfWeek).AddDays($DayOfWeek) } |