从格式为"hh:mm:ss,fff"的字符串计算总秒数 [英] Calculate total seconds from string in format "HH:mm:ss,fff"

查看:14
本文介绍了从格式为"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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆