Как проверить, прошла ли дата пользователя среда с помощью PowerShell? - PullRequest
0 голосов
/ 30 октября 2019

У меня есть случай, когда пользователь передает дату из прошлого. Но мне нужно проверить, если это среда. Если нет, я хочу установить следующую среду в 5 часов утра. Может кто-нибудь, пожалуйста, скажите мне, что будет лучшим подходом для этого с помощью PS?

Спасибо.

1 Ответ

0 голосов
/ 30 октября 2019

К счастью, [datetime] структуры имеют свойство DayOfWeek, которое мы можем использовать, чтобы проверить это!

Просто увеличивайте дату на 1 день, пока не достигнете Wednesday:

function Get-UpcomingWednesdayAt5
{
  param(
    [datetime]$Date
  )

  while($Date.DayOfWeek -ne [System.DayOfWeek]::Wednesday){
    # advance 1 day at a time until its wednesday
    $Date = $Date.AddDays(1)
  }

  # Create new [datetime] object with same Date but Time set to 5AM
  return Get-Date -Date $Date -Hour 5 
}
...