Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 在时间戳上使用条件逻辑_Powershell_Powershell 4.0 - Fatal编程技术网

Powershell 在时间戳上使用条件逻辑

Powershell 在时间戳上使用条件逻辑,powershell,powershell-4.0,Powershell,Powershell 4.0,我正在编写一个脚本,它将比较两台服务器之间的时间,并比较时间差。返回的时间戳的格式如下: -00:00:01.9989999 -01:00:02 -00:00:00.9989999 我需要创建一个条件,只有当差值大于3分钟时,才会触发操作。我应该如何设置格式?按照@PetSerAl的建议,将时间转换为时间跨度,获取其差异的持续时间()(如果愿意,差异的绝对值),并将其与3分钟的时间跨度进行比较: $t1=[timespan]'-00:00:01.999999' $t2=[timespan]'

我正在编写一个脚本,它将比较两台服务器之间的时间,并比较时间差。返回的时间戳的格式如下:

-00:00:01.9989999
-01:00:02 
-00:00:00.9989999

我需要创建一个条件,只有当差值大于3分钟时,才会触发操作。我应该如何设置格式?

按照@PetSerAl的建议,将时间转换为时间跨度,获取其差异的
持续时间()
(如果愿意,差异的绝对值),并将其与3分钟的时间跨度进行比较:

$t1=[timespan]'-00:00:01.999999'
$t2=[timespan]'-00:00:00.9989999'
$delta=($t1-$t2).Duration()
如果($delta-gt[timespan]'00:03:00'){
#做事
}

除非您能保证比较的两个时间戳都在同一天,否则您需要一个日期组件与时间戳一起使用才能获得准确的结果。
([timespan]'-00:00:00.9989999')。Duration()-gt(New timespan-Minutes 3)
@mjolinor我正在首先将datetime对象转换为UTC,所有这些都在同一个物理边界内(美国),所以如果日期不同,我会非常震惊。