var a = new Date(2017, 8, 26, 23, 55, 32);
var b = new Date();
if (比較a和b的年月日相同時) {
console.log('日期相等');
}
首先分析题目,a的值应该是date类型的日期:
b的值也是:
而ab的值都带有时间,非题目要求,只比较日期,取date日期时间中的日期 或时间方法为
取date的日期 a.toLocaleDateString(),结果如下:
那同样,今天为2017年九月26日 b.toLocaleDateString()结果也是"2017/9/26"
可能大家认为这样就可以得到if语句的值,可以直接比较了,但是因为是string格式的日期,比较的时候,会出现如下情况:
综上,比较日期是不可以用字符串进行比较的!!必须转化成日期格式进行比较!
所以,我们可以将上面 a.toLocaleDateString()再转为Date类型,,new Date(a.toLocaleDateString())
new Date(b.toLocaleDateString()) 此时
这样就可以比较日期了,但是最重要的一步!!!----->>>>
日期的比较一定要通过 getTime()比较
即,if里面应该是 :
if((new Date(a.toLocaleDateString)).getTime()===(new Date(b.toLocaleDateString)).getTime()){
console.log('smile');
}
此外,赠送一方法 :
如果想给 '2017/9/26'往后推迟10天 变成 '2017/10/6'
好啦,就到这里了,如有日期方面的疑问可以联系我qq,191633179,本人初学者,可以一起探讨一起学习。