在 Powershell 中将小时数增加 30 分钟 20 倍

问题描述 投票:0回答:3

抽屉可存放钥匙和眼镜,浅顶架可存放书籍,较大的底架可存放篮子或毯子。

powershell
3个回答
2
投票

您可以简单地添加新的时间跨度:

$newts = $ts + (New-TimeSpan -Minutes 30)

1
投票

您可以添加一个将自动转换为类型 [timespan] 的字符串,因为左侧参数是 [timespan]:

$ts = [timespan]'17:30'
$ts += '0:30'
$ts

Days              : 0
Hours             : 18
Minutes           : 0
Seconds           : 0
Milliseconds      : 0
Ticks             : 648000000000
TotalDays         : 0.75
TotalHours        : 18
TotalMinutes      : 1080
TotalSeconds      : 64800
TotalMilliseconds : 64800000

0
投票

Paolo 的有用答案 展示了如何将时间跨度添加到现有时间跨度,其中

+
操作转换为
[timespan]
类型的
.Add()
方法。

相比之下,

[datetime]
/
[datetimeoffset]
类型具有
.AddMinutes()
.AddMinutes()
方法。

因此,您可以执行以下操作:

# Get today's date at 17:00 hours
$start = Get-Date -Hour 17 -Minute 0 -Second 0 -MilliSecond 0
# Loop 20 times and add 30 minutes each, and format as "HH:mm"
0..19 | ForEach-Object { $start.AddMinutes($_ * 30).ToString('HH:mm') }

输出:

17:00
17:30
18:00
18:30
19:00
19:30
20:00
20:30
21:00
21:30
22:00
22:30
23:00
23:30
00:00
00:30
01:00
01:30
02:00
02:30
© www.soinside.com 2019 - 2024. All rights reserved.