Подтвердить что ты не робот

Moment.js Проверить дату сегодня

Как проверить дату на самом деле сегодня (в ту же дату), а не разницу между часами в день?

В качестве примеров я имею три временных отметки: один сегодня (22/07/14), а два других - вчера (21/07/14)

1406019110000 // today
1405951867000 // yesterday
1405951851000 // yesterday

Я пробовал это, но все возвращаю false:

timestamp = moment.tz(timestamp, tz.name());    
var today = moment('DD/MM/YYYY').isAfter(timestamp, 'DD/MM/YYYY');
console.log(today);
4b9b3361

Ответ 1

Вы можете использовать isSame(), ограничивая зернистость до дня:

var today = moment(1406019110000);
var yesterday = moment(1405951867000);

if (today.isSame(yesterday, 'd')) {
    // They are on the same day
} else {
    // They are not on the same day
}

Ответ 2

Вы можете использовать методы startOf и isSame для достижения своей цели здесь.

Запуск startOf('day') на момент объекта установит тот момент, на который вы догадались, - начало дня, когда оно происходит. Если вы конвертируете каждую из ваших временных меток с помощью этого метода, вы можете легко сравнить их друг с другом с помощью isSame().

Например:

var today = moment(1406019110000);
var yesterday = moment(1405951867000); 

if (today.startOf('day').isSame(yesterday.startOf('day'))) {
    // They are on the same day
} else {
    // They are not on the same day
}

Ответ 3

Вы можете попробовать это

moment().isSame(moment(timestamp), 'day')

Ответ 4

Вы можете попробовать это,

var today = 1406019110000; // today
var yesterday = 1405951867000; // yesterday

checkToday(today);
checkToday(yesterday);

function checkToday(timestamp)
{
    if (moment(timestamp).format('DD/MM/YYYY') == moment(new Date()).format('DD/MM/YYYY'))
        alert('true');
    else
        alert("false");
}

Вот демон