Здравствуйте. Есть сегодняшняя дата:
var nowDate = new Date()
И есть некая другая дата otherDate
.
Вопрос: Как определить, otherDate
это вчера, или это еще раньше (больше одного дня назад)?
Да, и еще, как определить сегодняшнюю дату?
var now = new Date()
только дата:
var today = new Date(now.getFullYear(), now.getMonth(), now.getDate())
вчерашний день:
var yesterday = new Date(today.valueOf() - 86400000);
сравнение как в вопросе:
var now = new Date()
var today = new Date(now.getFullYear(), now.getMonth(), now.getDate()).valueOf()
var other = otherDay.valueOf()
if (other < today - 86400000) { // 24*60*60*1000
// раньше чем вчера
} else if (other < today) {
// вчера
} else {
// сегодня или потом
}
Если кратко:
d1 = new Date('2010-10-10');
d2 = new Date('2010-10-09');
dm = d1 - d2;
if ( dm > 86400000 ) alert('Вчера--');
else alert('Позже чем вчера');
Вчера:
prev = ( new Date( ( new Date() ).toDateString() ) - 86400000 ); // 24*60*60*1000
Определить сколько дней прошло с даты otherDate по nowDate
otherDate=new Date(2011,11,10);
nowDate= new Date();
delta=nowDate.getTime()-otherDate.getTime();
alert("Прошло "+Math.floor(delta/1000/60/60/24)+" дней");