编辑,我已经能够通过比较日期的值而不是日期本身来解决这个问题:
$scope.entries[0].formattedDate === $scope.days[0]
$scope.entries[i].formattedDate.valueOf() === $scope.days[0].valueOf() //true
此angularjs计划的目标是:
ISODate("2016-05-18T04:44:42.067Z")
这是我生成一周中几天的代码,效果很好:
$scope.getWeek = function (num) {
var curr = new Date;
curr.setDate(curr.getDate() - (num * 7));
var days = [];
for (var i = 0; i < 7; i++) {
days.push(new Date(curr.setDate(curr.getDate() - curr.getDay() + i)));
days[i].setHours(0, 0, 0, 0);
}
$scope.days = days;
};
我只想知道这一天是否匹配,而不是时间。我正在使用此函数从Mongodb中检索的每个项目中删除时间:
var removeHours = function (date) {
date.setHours(0, 0, 0, 0);
return date;
};
在比较日期时,我绝对卡住了!好像我已经尝试了一切。当我在console.log这两个日期时,它们是相同的。我可能不知道有关JS对象的东西,我希望有人可以提供一个简单易用的解决方案。
$scope.entries[i].formattedDate == $scope.days[0] // false