[英]Powershell Convert to time
我需要按时间格式转换一些特定的字符串。
2M37.526S - 这代表 2 分 37 秒和 526 毫秒。
我需要在“{0:hh:mm:ss\,fff}”上进行转换
如何做到这一点的最佳方法? 我的代码转换但返回错误的订单值。
我的代码:
$a = '2M37.526S' -replace '[mM]',':' -replace '[.]', ':' -replace '[sS]', ''
$ts = [timespan]::fromseconds($a)
("{0:hh\:mm\:ss\,fff}" -f $ts)
谢谢你的帮助
我认为您不需要进行任何更换。 只需使用 ParseExact,并提供格式
https://docs.microsoft.com/en-us/dotnet/api/system.timespan.parseexact?view=netcore-3.1
当您的TimeSpan
被正确解析时,您的格式化代码应该可以正常工作。
$ts = [TimeSpan]::ParseExact('2M37.526S', "m\Mss\.fff\S", [CultureInfo]::InvariantCulture)
("{0:hh\:mm\:ss\,fff}" -f $ts)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.