将时间121.419419转换为可读分钟/秒

时间:2012-01-05 17:56:53

标签: powershell time

我想计算我的脚本运行的时间,但是get-date的结果是以秒为单位。

如何将此转换为31:14:12 behing hours:minutes:seconds?

2 个答案:

答案 0 :(得分:13)

PS> $ts = New-TimeSpan -Seconds 1234567
PS> '{0:00}:{1:00}:{2:00}' -f $ts.Hours,$ts.Minutes,$ts.Seconds
06:56:07

PS> "$ts" -replace '^\d+?\.'
06:56:07

答案 1 :(得分:8)

您所要做的就是使用Measure-Command cmdlet来获取时间:

PS > measure-command { sleep 5}


Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 5
Milliseconds      : 13
Ticks             : 50137481
TotalDays         : 5.80294918981481E-05
TotalHours        : 0.00139270780555556
TotalMinutes      : 0.0835624683333333
TotalSeconds      : 5.0137481
TotalMilliseconds : 5013.7481

上面的输出本身可能对您来说足够好,或者您可以适当地格式化它,因为Measure-Command的输出是TimeSpan对象。或者您可以使用ToString

PS > (measure-command { sleep 125}).tostring()
00:02:05.0017446