我在Angular JS中有一个应用程序,并且在一个屏幕上有2个日期选择器,并且有一个验证,FirstDate不能在SecondDate之后。

测试用例:

FirstDate: '10/01/2014'
SecondDate: '04/01/2015'


健康)状况:

if( $filter('date')(FirstDate) > $filter('date')(SecondDate) )
  alert(FirstDate)
else
  alert(SecondDate)


所需输出:

"SecondDate"


输出:

"FirstDate"


您能帮忙解决什么问题吗?
我的猜测是,不是考虑日期,而是考虑将它们视为字符串。

最佳答案

$ filter('date')使用date对象并将其转换为字符串。因此,在这种情况下,您需要在比较之前将字符串转换为日期对象

if( Date.parse(FirstDate) > Date.parse(SecondDate) )
  alert(FirstDate);
else
  alert(SecondDate);

07-24 14:46