如何使用 PowerShell 检查用户通过日期是否为星期三?

How to check if a user passed date is Wednesday using PowerShell?

我有一个用户传递过去日期的用例。但我需要检查是否是星期三。如果没有,我希望能够将其设置为下周三凌晨 5 点。有人可以告诉我使用 PS 解决此问题的最佳方法是什么吗?

谢谢。

幸运的是 [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 
}