如何在 Powershell 中将时间 06D 21H 03M 转换为总分钟数
How to convert time 06D 21H 03M to total minutes in Powershell
我 运行 net session
提取用户空闲时间,在某些行中,空闲时间以 06D 21H 03M
格式出现,即 xD yH zM
。我想计算总分钟数。
虽然我可以尝试使用拆分和匹配,但它会像 运行 像多个循环一样。
您可以尝试使用TimeSpan ParseExact方法:
[timespan]::ParseExact("06D 21H 03M", "dd\D\ h\H\ mm\M", $null).totalminutes
这里给出9903。
一定要尝试捕捉表达式,因为它在某种程度上对格式很敏感。
已编辑:
- 在 PowerShell 5.0 (Windows 10) 下工作正常。
- 在 PowerShell 4.0 (Windows 7 + W2K12 服务器) 下工作正常。
- 无法再在 PowerShell 3.0 下进行测试。
- 不适用于 PowerShell 2.0 版。
我 运行 net session
提取用户空闲时间,在某些行中,空闲时间以 06D 21H 03M
格式出现,即 xD yH zM
。我想计算总分钟数。
虽然我可以尝试使用拆分和匹配,但它会像 运行 像多个循环一样。
您可以尝试使用TimeSpan ParseExact方法:
[timespan]::ParseExact("06D 21H 03M", "dd\D\ h\H\ mm\M", $null).totalminutes
这里给出9903。
一定要尝试捕捉表达式,因为它在某种程度上对格式很敏感。
已编辑:
- 在 PowerShell 5.0 (Windows 10) 下工作正常。
- 在 PowerShell 4.0 (Windows 7 + W2K12 服务器) 下工作正常。
- 无法再在 PowerShell 3.0 下进行测试。
- 不适用于 PowerShell 2.0 版。