【发布时间】:2018-12-13 03:11:33
【问题描述】:
我正在尝试比较 typescript/angular 4 中的日期。在我的例子中,我将系统日期分配给一个名为“today”的变量,并将数据库日期分配给一个名为“dateToBeCheckOut”的变量。然后我使用 if 语句比较日期,在我的情况下,我希望得到结帐日期小于(之前)今天日期的预订。但是我得到了意想不到的结果,而不是得到了预期的结果。我在下面附上了我的代码,希望有人帮助理解它发生的原因。
这里是代码
for(let k = 0; k < this.bookingDetailsArrayRealObject.length; k++){
let dateCheckOut = this.bookingDetailsArrayRealObject[k].package.chackout;
let dateToBeCheckOut = new Date(dateCheckOut);
let today = new Date(Date.parse(Date()));
//let today_test = new Date();
if(this.bookingDetailsArrayRealObject[k].status){
if(dateToBeCheckOut.toDateString() < today.toDateString()){
this.bookingIdsToBeUpdated.push(this.bookingDetailsArrayRealObject[k]._id);
window.alert('true');
console.log(today.toDateString());
console.log(dateToBeCheckOut.toDateString());
console.log(this.bookingDetailsArrayRealObject[k]);
}
}
}
在控制台结果中,根据 if 语句,第三个是意外的。任何建议将不胜感激。
【问题讨论】:
-
您正在将日期格式更改为字符串,例如“2018 年 7 月 4 日星期三”,然后尝试查看一个是否比另一个大?这是不正确的。保留日期值,以便您可以比较它们,或将它们转换为时间戳,以便一个大于另一个。 stackoverflow.com/questions/9873197/…
-
@Smiter 非常感谢你告诉我这个错误。
标签: angular typescript