【发布时间】:2016-08-25 23:06:35
【问题描述】:
我正在使用 PowerShell 的 -match 运算符和正则表达式 \b(Thu|Fri|Sat|Sun).([012]?[0-9][:]\d{2}) 来获取重启应该发生的日期和时间。
样本数据:
Patching - Prod - Fri 2:00
Patching - Prod - Fri 22:00
Patching - Prod - Thu 22:00
Patching - Prod - Fri 22:00
Patching - Prod - Sat 18:00
Patching - Prod - Sun 2:00
Patching - Prod - Sun 00:00
Patching - Prod - Sat 2:00
$Rebootinfo = "Patching - Prod - Sat 2:00"
"$Rebootinfo" -match "\b(Thu|Fri|Sat|Sun).([012]?[0-9][:]\d{2})" | Out-Null
这很好用,但我发现当时间是 2:00 AM 时我得到 2:00 并且我希望用 02:00 的前导零填充该结果,如果时间是午夜,结果将是 0 而不是所需的 00:00
我一直在尝试this article 的建议,但没有成功。
"Prod - Sun 2:00" -match "\b(Thu|Fri|Sat|Sun).([012]?[0-9][:]\d{2})" | Out-Null
$a = $Matches[2]
$a.ToString("00:00")
返回错误找不到“ToString”的重载和参数计数:“1”。
我这样做的目标是将数据传递到 PowerShell 以获取距离重启时间的天数。例如,如果在周六运行,周日凌晨 2 点需要增加 1 天。
【问题讨论】:
标签: string powershell datetime