【问题标题】:Find 3rd Saturday of the month查找每月的第三个星期六
【发布时间】:2020-08-06 08:57:27
【问题描述】:

我需要找到每月第三个星期六的日期。

我有以下函数,它可以找到本月的最后一个星期六

function Get-3rdSaturdayOfMonth {
    $Date = Get-Date
    $lastDay = new-object DateTime($Date.Year, $Date.Month, [DateTime]::DaysInMonth($Date.Year, $Date.Month))
    $diff = ([int] [DayOfWeek]::Saturday) - ([int] $lastDay.DayOfWeek)
    if ($diff -ge 0) {
        return $lastDay.AddDays(- (7-$diff))
    }
    else {
        return $lastDay.AddDays($diff)
    }
}

但是,我不知道如何编辑它以找到该月的第三个星期六。

现在该函数从当月的最后一个日期到它之前的星期六。但如果我想要第三个星期六,我想我需要从每月的第一天开始计算,而不是最后一天。

【问题讨论】:

    标签: powershell


    【解决方案1】:

    基于solution from Brandon,由于第三个星期六不可能出现在每月的 15 号之前,我们可以从 15 号开始递增,直到找到一个星期六:

    $thirdSaturday = [DateTime]::new((Get-Date).Year,(Get-Date).Month,15)
    while ($thirdSaturday.DayOfWeek -ne [DayOfWeek]::Saturday) 
    {
        $thirdSaturday = $thirdSaturday.AddDays(1)
    }
    

    【讨论】:

      猜你喜欢
      • 2013-05-15
      • 1970-01-01
      • 2016-11-30
      • 1970-01-01
      • 1970-01-01
      • 2014-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多