任何人都可以告诉我为什么我的约会不起作用。 基本上当我尝试比较日期然后是在angularJs
中工作 var dateObj1 = $filter("date")(Date.now(), 'dd-MMM-yyyy'); // output is "04-May-2016"
var dateObj2 = $scope.employee.Tue; // output is "03-May-2016"
if (dateObj1 < dateObj2) {
return true
} else {
return false;
}
以上是有效的,但如果我使用日期为&#34; 2016年4月26日&#34;以下情况不起作用我得到回报
var dateObj1 = $filter("date")(Date.now(), 'dd-MMM-yyyy'); // output is "04-May-2016"
var dateObj2 = $scope.employee.Tue; // output is "26-Apr-2016"
if (dateObj1 < dateObj2) {
return true
} else {
return false;
}
答案 0 :(得分:2)
根据the date filter的文档,此过滤器
根据请求的格式将日期格式化为字符串。
因此,在将dateObj1与dateObj2进行比较时,您使用的是字符串比较,即字典顺序。
您必须将字符串解析为日期(使用Date.parse
)以获取所需结果
答案 1 :(得分:1)
签出这个,Date.parse
是完成这项任务所必需的
var jimApp = angular.module("mainApp", []);
jimApp.controller('mainCtrl', function($scope, $filter){
var dateObj1 = $filter("date")(Date.now(), 'dd-MMM-yyyy'); // output is "04-May-2016"
var dateObj2 = Date.parse("26-Apr-2016");
if (Date.parse(dateObj1) < dateObj2) {
alert(true);
return true
}
else {
alert(false);
return false;
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script>
<div ng-app="mainApp" ng-controller="mainCtrl">
</div>