从Get-Date / DateTime对象中减去小时

时间:2018-09-06 15:12:40

标签: powershell

我正在研究Powershell的基础知识,以避免一些愚蠢的误解,因此我正在从事一些杂项项目。我想获取思科间隔值(24小时内每15分钟间隔= 96个间隔)并输出错误的时间。

例如,如果相关间隔为2,当前为11:00 AM,则间隔时间将为昨天的11:30 AM。

到目前为止,我只是方程式,但是我不确定如何将DateTime对象设置为可以对方程式进行操作的点。

$myInt = Read-Host "Interval Number";
$lapsed =  ([int] $myInt - [int]96) * [int]15 / 60
$currentTime = Get-Date

如果可能的话,我想从本质上考虑当前时间,减去小时数,然后从中创建一个新时间。

解决方案代码:

$myInt = Read-Host "Interval Number";
$interval =  ([int] $myInt - [int]96) * [int]15 / 60
$currentTime = Get-Date 
"Current time is: $currentTime"

$elapsedTime = $currentTime.AddHours(-$lapsed)
"Interval $myInt reported at $elapsedTime"

1 个答案:

答案 0 :(得分:0)

我的解决方案是使用AddHours() Get-Date.AddHours()减去间隔中经过的小时数。

$myInt = Read-Host "Interval Number";
$interval =  ([int] $myInt - [int]96) * [int]15 / 60
$currentTime = Get-Date 
"Current time is: $currentTime"

$elapsedTime = $currentTime.AddHours(-$lapsed) ## Subtract the value of $lapsed from $currentTime
"Interval $myInt reported at $elapsedTime"