Skip to content

Instantly share code, notes, and snippets.

@jeliasson
Created September 20, 2021 11:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jeliasson/0b19db6b9f1b895a6a2856e87bb2b992 to your computer and use it in GitHub Desktop.
Save jeliasson/0b19db6b9f1b895a6a2856e87bb2b992 to your computer and use it in GitHub Desktop.
A few PowerShell variables that get WeekStart, WeekEnd and Week number by a Get-Date input
# Time range
# Actual date
$DateTarget = Get-Date
# Custom date test (overrides actual date unless commenting out)
#$DateTarget = Get-Date -Date "2021-09-12 13:14:15Z"
$StartOfDay = $DateTarget | Date -Hour 0 -Minute 0 -Second 0
$StartOfWeek = $StartOfDay.AddDays(1-($StartOfDay).DayOfWeek.value__)
$EndOfDay = $DateTarget | Date -Hour 23 -Minute 59 -Second 59
$EndOfWeek = $EndOfDay.AddDays(7-($StartOfDay).DayOfWeek.value__)
$WeekNumber = [int]("{0:d1}" -f ($(Get-Culture).Calendar.GetWeekOfYear(($DateTarget),[System.Globalization.CalendarWeekRule]::FirstFourDayWeek, [DayOfWeek]::Monday)))
$Year = [int]($DateTarget | Date -Format yyyy)
Write-Host "DateTarget: $DateTarget"
Write-Host "WeekNumber: $WeekNumber"
Write-Host "Year: $Year"
Write-Host "StartOfDay: $StartOfDay"
Write-Host "StartOfWeek: $StartOfWeek"
Write-Host "EndOfDay: $EndOfDay"
Write-Host "EndOfWeek: $EndOfWeek"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment