PowerShell 2.0 中的时差

Time Difference in PowerShell 2.0

我需要将以下代码转换为 PowerShell 2.0...到目前为止没有成功。

$startTime = (Get-Date)
<my_script_is_running>
$endTime = (Get-Date)
$ElapsedTime = 'Duration: {0:hh} h {0:mm} min {0:ss} sec' -f ($endTime-$startTime)
Write-Host "$ElapsedTime"

提前致谢!

问题是 PowerShell v2 无法识别 TimeSpan 的标准 date/time 格式。 (我把 Start-Sleep -Seconds 2 放在了一些时间差)。

PowerShell 2 输出:

Duration: 00:00:02.0001144 h 00:00:02.0001144 min 00:00:02.0001144 sec

PowerShell 5 输出:

Duration: 00 h 00 min 02 sec

您可以格式化 "manually" 指定 TimeSpan 属性:

$ElapsedTime = ('Duration: {0} h {1} min {2} sec' -f $elapsed.Hours, $elapsed.Minutes, $elapsed.Seconds)

两个版本都适用。