我有一个问题。我无法使用Angular.js / Javascript将今天的日期与之前的日期进行比较。我在下面解释我的代码。
var today=new Date();
if(today >= new Date($scope.date1.split("-").reverse().join(","))){
alert('Please select todays date or upcoming date');
}
我在这里获得了$scope.date1
这个2016-10-18
格式的价值。在日期为2016-10-18
时,我无法比较。我需要的是所选日期是今天日期的前一个日期警报将显示。请帮助我。
答案 0 :(得分:1)
new Date($scope.date1.split("-").reverse().join(","))
不会创建有效日期。
//Pass the string directly
var nDate = new Date('2016-10-18');
var today = new Date();
if (today >= nDate) {
console.log('Please select todays date or upcoming date');
}

答案 1 :(得分:0)
您无法比较日期。
使用3
初始化日期对象时,会使用当前时间进行设置。
所以
new Date()
永远不会是相同的
var today = new Date("2016-10-19"); //----> current date here
var anothertoday = new Date();
上面的表达式评估为true,因为如果你看到两个日期的时间
anothertoday > today //-----> true
要仅根据today.getHours() //---> 0
anothertoday.getHours() //---> current time shall be displayed
进行比较,您需要将date
的时间设置为anothertoday
0
现在上面的表达式应该评估为anothertoday.setHours(0,0,0,0)
false
因此,在您的情况下,您的代码应与此类似
anothertoday > today //---->false