使用$ filter无效的日期比较

时间:2014-08-14 09:36:57

标签: javascript angularjs date-comparison

我在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"

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

1 个答案:

答案 0 :(得分:1)

$ filter(' date')与日期对象一起使用并将其转换为字符串。因此,在您比较它之前,您需要将字符串转换为日期对象

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