两个相同的数据不相等



我有两个据我所知的两个日期。

$theDate = (Get-Date -Hour 0 -Minute 00 -Second 00)
$otherDate = (Get-Date -Hour 0 -Minute 00 -Second 00)

以该顺序执行

这两个都显示为Monday, May 11, 2015 12:00:00 AM,但是当我做($theDate -eq $otherDate)时,它会返回false。我尝试过$theDate.equals($otherDate)(($theDate) -eq ($otherDate))相同的事情。我唯一能返回的是($theDate -gt $otherDate)我是疯了还是只是菜鸟?

您忘记了毫秒字段,这两个数据列表将有所不同:

PS > $theDate = (Get-Date -Hour 0 -Minute 00 -Second 00)
PS > $otherDate = (Get-Date -Hour 0 -Minute 00 -Second 00)
PS > $theDate.Millisecond
122  
PS > $otherDate.Millisecond
280

将这些字段设置为相同的值解决了问题:

PS > $theDate = (Get-Date -Hour 0 -Minute 00 -Second 00 -Millisecond 000)
PS > $otherDate = (Get-Date -Hour 0 -Minute 00 -Second 00 -Millisecond 000)
PS > $theDate -eq $otherDate
True

尽管将两个变量分配到同一数据时可能会更容易:

PS > $theDate = (Get-Date -Hour 0 -Minute 00 -Second 00) 
PS > $otherDate = $theDate
PS > $theDate -eq $otherDate
True

最新更新