[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[日期时间] PowerShell如何计算多个时间的和?

如何求多个时间的和, 求路过大侠指引, 提前感谢

例如, 下面这是个多个时间的数组, 我想求他们的和
期待的结果:
00:15:15
  1. $d = @(
  2. '00:04:30'
  3. '00:05:25'
  4. '00:05:20'
  5. )
复制代码
本人所发所有贴子或代码, 诸大侠若认为有改进之处,请不吝赐教,感激不尽!

第一种
  1. $d = @(
  2. '00:04:30'
  3. '00:05:25'
  4. '00:05:20'
  5. )
  6. $h = $m = $s = 0
  7. $d | foreach {
  8.     $arr = $_ -split ':'
  9.     $s += [int]$arr[2]
  10.     $m += [System.Math]::Floor($s / 60); $s = $s % 60
  11.     $m += [int]$arr[1]
  12.     $h += [System.Math]::Floor($m / 60); $m = $m % 60
  13.     $h += [int]$arr[0]
  14. }
  15. '{0}:{1}:{2}' -f $h,$m,$s
复制代码
第二种
  1. $d = @(
  2. '00:04:30'
  3. '00:05:25'
  4. '00:05:20'
  5. )
  6. $t = [timespan]::Zero
  7. $d | foreach { $t += [timespan]$_ }
  8. '{0}:{1}:{2}' -f $t.Hours,$t.Minutes,$t.Seconds
复制代码
1

评分人数

    • 5i365: 乐于分享, 技术牛X技术 + 1

TOP

回复 2# went


   感谢大侠帮助, 我把时间输出到变量, 回显就少0了
$ts = @(

'00:04:18'

'00:05:12'
)
$t = [timespan]::Zero
$ts | foreach { $t += [timespan]$_ }
$mmss = '{0}:{1}:{2}' -f $t.Hours, $t.Minutes, $t.Seconds
$mmss

--------------------结果
0:9:30

加了类型后, 又多了日期  
[datetime]$mmss
--------------------结果
2022-04-27 00:09:30
本人所发所有贴子或代码, 诸大侠若认为有改进之处,请不吝赐教,感激不尽!

TOP

占位符格式化{0:00}

TOP

返回列表