我想计算我的脚本运行的时间,但是get-date的结果是以秒为单位。
如何将此转换为31:14:12 behing hours:minutes:seconds?
答案 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