我是PowerShell的新手,我一直在尝试将此字符串转换为timespan对象:
“2天1小时15分钟”
我已经尝试了几种方法来输入格式使用parseexact,但我似乎不能得到正确的格式下来。
我试过这样的方法:
[TimeSpan]::ParseExact('2 Days 1 Hour 15 Minutes', 'd \Days h \Hour MM \Minutes', $null)
字符串
我是PowerShell的新手,我一直在尝试将此字符串转换为timespan对象:
“2天1小时15分钟”
我已经尝试了几种方法来输入格式使用parseexact,但我似乎不能得到正确的格式下来。
我试过这样的方法:
[TimeSpan]::ParseExact('2 Days 1 Hour 15 Minutes', 'd \Days h \Hour MM \Minutes', $null)
字符串
4条答案
按热度按时间a7qyws3x1#
TimeSpan解析器非常敏感,你需要转义所有不是格式字符串说明符的内容:
字符串
(我使用百分号表示说明符(
%d
而不是d
),使它们在所有\
中脱颖而出,但它们不是必需的)qyuhtwio2#
字符串版本通常看起来像这样:
'2.01:15:00'
,所以[timespan]'2.01:15'
可以工作。unftdfkk3#
我很高兴看到你有答案。另一种方法是在正则表达式中使用命名捕获。
字符串
nx7onnlm4#
将字符串转换为
[timespan]
时请注意。如果字符串为空,则会抛出InvalidCastParseTargetInvocationWithFormatProvider错误。