0
我的理解是,这应该将时间舍入到小数点后三位。然而,尽管它不会产生任何错误,它也不会轮,产生输出像00:02:42.6180000四舍五入时间
$elapsedTime = [datetime]$endTime - [datetime]$startTime
$elapsedTime = '{0:HH:mm:s.fff}' -f $elapsedTime
FWIW,开始结束结束时间只是从一个txt文件中的字符串,格式为00:47:19.876,这就是我为什么要做四舍五入的原因。源数据只提供给三位小数,所以没有理由输出到七位。
编辑1: 乔伊, 我只是做了一个小测试夹具,看起来像这样
$startTime = '00:47:19.876'
$endTime = '00:49:21.023'
$elapsedTime = [datetime]$endTime - [datetime]$startTime
$elapsedTime = '{0:HH:mm:s.fff}' -f $elapsedTime
$elapsedTime
而且我的输出是00:02:01.1470000。在Windows 7上运行PS2.0,如果有什么区别的话。
编辑2: 只是修改为
$elapsedTime = '{0:hh\:mm\:ss\.fff}' -f $elapsedTime
的输出结果相同,没有任何错误。
其实,你应该得到与代码的异常。 'HH'不是TimeSpan的有效格式说明符。修复错误(请参阅Mathias的评论)不会显示您为我指出的问题。 – Joey
''{0:hh \:mm \:ss \ .fff}'-f $ elapsedTime' –
@joey,以及它绝对有效... – 4c74356b41