我正在尝试比较两个日期以查看一个日期是否小于另一个日期,因此我格式化两个日期,然后检查过期日期是否小于今天,然后是否显示警告消息:
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1;
var yyyy = today.getFullYear();
if(dd<10){
dd='0'+dd
}
if(mm<10){
mm='0'+mm
}
var today = dd+'/'+mm+'/'+yyyy;
var ExpiryDate = result.VATExpiryDate;
var day = ExpiryDate.getDate();
var month = ExpiryDate.getMonth()+1;
var year = ExpiryDate.getFullYear();
if(day<10){
day='0'+day
}
if(month<10){
month='0'+month
}
var ExpiryDate = day+'/'+month+'/'+year;
if(ExpiryDate < today && result.VATAuthNo.length>0)
{
alert("Please note Vat Authorisation Date for " + result.Name + " has expired - " + ExpiryDate);
}
但它似乎并不适用于所有日期。例如,如果到期日是2015年12月10日,则可以使用并显示警报消息。但是,如果日期是2016年6月21日,它就不起作用,即使该日期比今天还少。
答案 0 :(得分:2)
您可以比较直接使用日期对象操作的日期,而不需要转换。 javascript是一个强大的语言伴侣。
`https://jsfiddle.net/Safoora/cpcygkno/6/`
Hope it will help.
答案 1 :(得分:0)
使用以下方法:
if( new Date(first).getTime() > new Date(second).getTime() ) {
// code;
}
var date1 = new Date('2017-02-15');
var date2 = new Date('2017-02-15');
if( date1 === date2 ){
console.log("bot are equal");
}
if( +date1 === +date2 ){
console.log("bot are equal");
}
答案 2 :(得分:0)
您正在比较字符串 - 要获得正确的结果,请使用YYYY-mm-dd格式,而不是dd / mm / YYYY