我使用powershell来获取十天前的日期和时间。为此,我使用以下
$date10DaysAgo = (get-date).adddays(-10).tostring("yyyy-MM-dd HH:mm")
这是每半小时运行一次的脚本的一部分。有时大约一分钟运行脚本有一个延迟,但我希望字符串的时间部分显示小时或半小时。因此,如果这个在16:31运行,我需要它显示16:30,如果它在17:01运行它将显示17:00。
答案 0 :(得分:2)
您可以通过从分钟中减去$date10DaysAgo.Minute % 10
来执行此操作:
$date10DaysAgo = (get-date).adddays(-10)
$date10DaysAgo = $date10DaysAgo.AddMinutes(- $date10DaysAgo.Minute % 10).toString("yyyy-MM-dd HH:mm")
答案 1 :(得分:0)
不漂亮,但确实有效:
$ago = (Get-Date).AddDays(-10)
$newMinute = ($ago.Minute / 30) * 30
$ago = Get-Date -Year $ago.Year -Month $ago.Month -Day $ago.Day -Hour $ago.Hour -Minute $newMinute
Write-Host $ago.tostring("yyyy-MM-dd HH:mm")