从格式为";hh:mm:ss,fff";的字符串计算总秒数 [英] Calculate total seconds from string in format "HH:mm:ss,fff"
本文介绍了从格式为";hh:mm:ss,fff";的字符串计算总秒数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在PowerShell V2中,我要计算给定字符串的总秒数和毫秒数。
我的字符串是00:03:56,908
,所需的输出应该是236.908
我在工作,但代码很笨拙
$a = "00:03:56,908"
$a = [datetime]::ParseExact($a,"HH:mm:ss,fff",$null)
[string]($a.Hour*3600 + $a.Minute*60 + $a.Second) +"."+ [string]$a.Millisecond
有没有更聪明/更快捷的方法来实现这一点?
我所发现的只有TimeSpan对象的.total秒。但这段代码在我的尝试中甚至更长
推荐答案
在4.0之前的.NET版本中,TimeSpan
类的问题在于它不能很好地处理不同的区域性或格式化字符串。假设您的字符串使用逗号而不是句点,如果我们想要将其解析为TimeSpan,则必须更改它,但我认为这仍然是最好的方法。
$timeString = "00:03:56,908"
$timeStringWithPeriod = $timeString.Replace(",",".")
$timespan = [TimeSpan]::Parse($timestringWithPeriod)
$totalSeconds = $timespan.TotalSeconds
这篇关于从格式为";hh:mm:ss,fff";的字符串计算总秒数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文