我正在尝试创建一个将表示时间跨度的字符串(格式:aMbb.cccS
,其中a
:分钟,bb
:秒,ccc
:毫秒)转换为另一种格式(hh:mm:ss.fff
的函数)。到目前为止,我只得到一个时间跨度对象。
示例输入:2M37.526S
预期输出:00:02:37.526
我的功能:
function Convert-TimeString ([String]$Time, [String[]]$Format)
{
$result = New-Object TimeSpan
$convertible = [TimeSpan]::TryParseExact(
$Time,
$Format,
[System.Globalization.CultureInfo]::InvariantCulture,
[ref]$result
)
if ($convertible) { $result }
}
只需根据需要在ToString()
上调用$result
:
function Convert-TimeString ([String]$Time, [String[]]$Format)
{
$result = New-Object TimeSpan
$convertible = [TimeSpan]::TryParseExact(
$Time,
$Format,
[System.Globalization.CultureInfo]::InvariantCulture,
[ref]$result)
if ($convertible) { $result.ToString('hh\:mm\:ss\.fff') }
}
Convert-TimeString -Time '2M37.526S' -Format 'm\Mss\.fff\S'
输出:
00:02:37.526