我不确定这是否是一个简单的答案。我试图寻找在线转换ISO时间的方法,我相信ISO 8601是我正在处理的时间格式,但我不是100%肯定,而且我找不到太多关于它的信息。
为了保持超短,在我正在Powershell中解析的XML文档中,有一个写为“PT8M51.693S”的持续时间字段,它等于8:51.693,或8分51.693秒。我想将其转换为“8:51”或“08:51”。任何人都知道我会怎么做?谢谢你的帮助。
答案 0 :(得分:4)
您可以使用[Xml.XmlConvert]::ToTimeSpan
将XML持续时间类型转换为.NET TimeSpan
类型。要将TimeSpan
对象转换为所需格式的字符串表示,可以使用PowerShell格式运算符-f
:
$ts = [Xml.XmlConvert]::ToTimeSpan("PT8M51.693S")
'{0:00}:{1:00}:{2:00}' -f ($ts.Hours+$ts.Days*24), $ts.Minutes, $ts.Seconds