javascript - react - moment subtract days
Moment.js Comprobar que una fecha es hoy (4)
Puede usar isSame()
, lo que limita la granularidad a un día:
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
}
¿Cómo verifico que una fecha es en realidad hoy (la misma fecha) en lugar de la diferencia entre horas en un día?
Tengo tres marcas de tiempo como ejemplos, una es hoy (22/07/14) y las otras dos son ayer (21/07/14)
1406019110000 // today
1405951867000 // yesterday
1405951851000 // yesterday
Lo he intentado pero todos devuelven falso:
timestamp = moment.tz(timestamp, tz.name());
var today = moment(''DD/MM/YYYY'').isAfter(timestamp, ''DD/MM/YYYY'');
console.log(today);
Puede usar los métodos startOf
e isSame
juntos para lograr su objetivo aquí.
Ejecutar startOf(''day'')
en un objeto de momento establecerá ese momento para, lo adivinó, el comienzo del día en que ocurre. Si convierte cada una de sus marcas de tiempo utilizando este método, puede compararlas fácilmente utilizando isSame()
.
Por ejemplo:
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
}
Puedes intentar esto
moment().isSame(moment(timestamp), ''day'')
Puedes probar esto,
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");
}
Aquí está la demo