我正在使用 PowerShell 來列印即將到來的 4 個星期五的日期。
$date = Get-Date
for ($num = 1 ; $num -le 4 ; $num ){
while ($Date.DayOfWeek -ne "Friday") {$date = $date.AddDays($num)}
$datestr = $date.ToString('dd-MM-yyyy')
echo $datestr
$SomeVar = "Friday - " $num " - " $datestr
echo $SomeVar
}
輸出 :
04-11-2022
Friday - 1 - 04-11-2022
04-11-2022
Friday - 2 - 04-11-2022
04-11-2022
Friday - 3 - 04-11-2022
04-11-2022
Friday - 4 - 04-11-2022
在這里,我可以列印即將到來的星期五的單一日期。但是,我想列印即將到來的 4 個星期五的日期。
你能幫我弄清楚我錯過了什么或任何更好的方法來列印即將到來的特定日期的日期。
謝謝你。
uj5u.com熱心網友回復:
你讓這個太難了。
嘗試
# skip if today happens to be a Friday too, because you want 'upcoming'
$date = (Get-Date).AddDays(1)
# while $date is not a Friday, keep adding days to it
while ($date.DayOfWeek -ne 'Friday') { $date = $date.AddDays(1) }
# next output the 4 upcoming Fridays
for ($i = 1; $i -le 4; $i ) {
Write-Host "$($date.DayOfWeek) - $i - $($date.ToString('dd-MM-yyyy'))"
$date = $date.AddDays(7)
}
輸出:
Friday - 1 - 04-11-2022
Friday - 2 - 11-11-2022
Friday - 3 - 18-11-2022
Friday - 4 - 25-11-2022
uj5u.com熱心網友回復:
您的日期變數正在替換為字串變數。考慮命名新變數以反映它包含的內容:
$dateStr = $date.ToString('dd-MM-yyyy')
uj5u.com熱心網友回復:
# Determine the input date.
$date = Get-Date
# Find the next Friday relative to the input date (which may be that date itself).
$nextFriday = $date.AddDays(([DayOfWeek]::Friday - $date.DayOfWeek 7) % 7)
# Output the next Friday plus the 3 ones after that (4 in total).
0..3 | ForEach-Object { $nextFriday.AddDays(7 * $_) }
以上輸出[datetime]實體,您可以根據需要對其進行格式化。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/523419.html
