我试图比较角度4中的两个日期对象,但它总是返回false
下面是我的代码段
CheckForHoliday(d: Date) {
let simpleDate = new Date(d.getFullYear(), d.getMonth(), d.getDay());
let hDate = new Date(2018, 9, 1);
console.log(simpleDate + "==========" + hDate);
console.log(hDate === simpleDate);
return (hDate === simpleDate);
}
输出如下
2018年10月1日星期一格林尼治标准时间+0530(印度标准时间)============ 2018年10月1日星期一00:00:00 GMT + 0530(印度标准时间)
false
有人知道为什么当打印的值看起来相同时它返回false吗?
答案 0 :(得分:0)
您可以执行date.getTime(),然后比较两个数字
答案 1 :(得分:0)
您应该比较日期对象中的日期。如果您在日期对象上调用getDate()方法,您将获得true。
hDate.getDate() === simpleDate.getDate() //=> returns true
答案 2 :(得分:0)
new Date
将返回一个对象,而您不能像这样比较对象。比较它们之前,请尝试将它们都转换为字符串。
这样做
CheckForHoliday(d: Date) {
let simpleDate = new Date(d.getFullYear(), d.getMonth(), d.getDay());
let hDate = new Date(2018, 9, 1);
console.log(simpleDate + "==========" + hDate);
console.log(hDate === simpleDate);
return (hDate.toString() === simpleDate.toString());
}