Javascript 我能';我似乎无法比较两个日期对象。一个来自mongo,一个生成
编辑,我已经能够通过比较日期的值而不是日期本身来解决这个问题:Javascript 我能';我似乎无法比较两个日期对象。一个来自mongo,一个生成,javascript,angularjs,mongodb,Javascript,Angularjs,Mongodb,编辑,我已经能够通过比较日期的值而不是日期本身来解决这个问题: $scope.entries[0].formattedDate === $scope.days[0] $scope.entries[i].formattedDate.valueOf() === $scope.days[0].valueOf() //true angularjs计划的目标是: 生成当前周的天数(作为Javascript日期对象数组) 从mongodb获取一组JSON对象。(这些对象有一个名为“日期”的属性。此“日期”
$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;
};
当谈到比较日期时,我完全被卡住了!似乎我已经尝试了所有方法。当我在console.log上记录这两个日期时,它们是相同的。我可能不知道关于JS对象的一些事情,我希望有人能提供一个简单易用的解决方案
$scope.entries[i].formattedDate == $scope.days[0] // false
尝试使用valueOf,
$scope.entries[i].formattedDate.valueOf()==$scope.days[0].valueOf()
console.log($scope.entries[0].formattedDate.valueOf()===$scope.days[0].valueOf());
仍然是false。我真的不知道,console.log($scope.entries[0].formattedDate.valueOf()==$scope.days[0].valueOf())
show?显示为false。console.log($scope.entries[0].formattedDate.valueOf(),'',$scope.days[i].valueOf());show1464062400000”“146449400000
$scope.days[i].valueOf()无论给定的日期是什么,似乎都具有相同的值。并且该值与生成的日期不同…^最后一条注释不是真的。我通过按日期的值引用日期,以某种方式使其起作用…不确定为什么会起作用,但比较实际的日期对象不起作用。万岁!尝试使用valueOf,$scope.entries[i] .formattedDate.valueOf()==$scope.days[0].valueOf()
1464062400000“146449400000
$scope.days[i].valueOf()无论给定的日期是什么,似乎都具有相同的值。该值与生成的日期不同…^最后一条评论不是真的。我通过引用日期的值,以某种方式使其起作用…不确定为什么会起作用,但比较实际的日期对象不起作用。万岁!
$scope.entries[i].formattedDate == $scope.days[0] // false