两个相同的日期时间不比较相等

时间:2015-05-11 20:42:03

标签: powershell datetime date-comparison

据我所知,我有两个相同的日期。

$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) 我疯了还是只是一个菜鸟?

1 个答案:

答案 0 :(得分:10)

您忘记了毫秒字段,这两个日期时间不同:

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
相关问题