几分钟到最近的10分钟

时间:2016-09-27 15:22:42

标签: powershell

我使用powershell来获取十天前的日期和时间。为此,我使用以下

$date10DaysAgo = (get-date).adddays(-10).tostring("yyyy-MM-dd HH:mm")

这是每半小时运行一次的脚本的一部分。有时大约一分钟运行脚本有一个延迟,但我希望字符串的时间部分显示小时或半小时。因此,如果这个在16:31运行,我需要它显示16:30,如果它在17:01运行它将显示17:00。

2 个答案:

答案 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")
相关问题