gpt4 book ai didi

PowerShell 获取从本周五开始的 12 个月的周五

转载 作者:行者123 更新时间:2023-12-02 01:57:29 25 4
gpt4 key购买 nike

我目前正在为备份磁带编写 PowerShell 脚本,并尝试计算磁带的返回日期。我们的提供商会在周五收取并返还磁带。保留期限为4周、12个月和3年。每月磁带集在每月的第一个星期一发布,因此我目前正在使用每月磁带集,该磁带集将于 12 个月后返回。我如何计算从 2021 年 10 月 8 日星期五开始的 12 个月,但要确保返回日期也是星期五?

#Calculate Friday - Vaulting Date
$Friday = (Get-Date).AddDays(5-((Get-Date).DayOfWeek.value__)).ToString("MM/dd/yyyy")

#Calculate Return Dates
$Weekly = (Get-Date).AddDays(5-((Get-Date).DayOfWeek.value__)).AddDays(28).ToString("MM/dd/yyyy")
$Monthly = (Get-Date).AddDays(5-((Get-Date).DayOfWeek.value__)).AddMonths(12).ToString("MM/dd/yyyy")
$Yearly = (Get-Date).AddDays(5-((Get-Date).DayOfWeek.value__)).AddYears(3).ToString("MM/dd/yyyy")

$Monthly 当前返回 10/08/2022,这是我想要的日期之后的星期六。我想我在 $Yearly 上也会遇到同样的问题,如果是闰年怎么办?任何帮助将不胜感激。

最佳答案

首先添加一年:

$date = Get-Date 10/08/2021
$date = $date.AddYears(1)

然后不断添加一天,直到到达星期五:

while($date.DayOfWeek -ne 'Friday'){
$date = $date.AddDays(1)
}

最后,转换为所需的字符串格式(在完成日期计算之前不要转换为字符串,您将无法使用它进行日期时间数学:)):

$date.ToString('MM/dd/yyyy')

关于PowerShell 获取从本周五开始的 12 个月的周五,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69451856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com