Estoy usando MomentJs en un proyecto de ReactJs. Estoy tratando de comparar la fecha y la hora. ¿Cómo puedo comparar la hora? usar el objeto de recordarTiempo
Actualmente estoy haciendo el seguimiento, sin embargo, no funciona porque está mirando el objeto de recordatorio y no la fecha y la hora.
moment() >= moment(remindTime) ? true : false const remindTime = { _id: new ObjectId("614fa5ed18b365aa83099183"), title: 'Third Message', description: 'Item 3', remindTime: { date: '2021-09-26', time: '7:43:21 pm' }, isComplete: false, }Básicamente, quiero saber si la hora actual es excelente o igual a la fecha y la hora en el objeto de recordatorio.
Creo que puedes usar [funciones de consulta de momento]: https://momentjs.com/docs/#/query/
Tenga en cuenta que moment funciona con formatos de parámetros específicos, por lo que no puede asignarle objetos independientes.
Teniendo en cuenta eso, necesitará la función diff y analizar apropiadamente remindTime.date y remindTime.time :
Para obtener la diferencia en milisegundos, use moment#diff como lo haría con moment#from.
var a = moment([2007, 0, 29]); var b = moment([2007, 0, 28]); a.diff(b) // 86400000Y para obtener la diferencia en otra unidad de medida, pase esa medida como segundo argumento.
var a = moment([2007, 0, 29]); var b = moment([2007, 0, 28]); a.diff(b, 'days') // 1Un ejemplo de esto podría ser:
//given const remindTime1 = { _id: new ObjectId("614fa5ed18b365aa83099183"), title: 'Third Message', description: 'Item 3', remindTime: { date: '2021-09-26', time: '7:43:21 pm' }, isComplete: false, } // and also given another object for comparing times and dates const remindTime2 = { _id: new ObjectId("614fa5ed18b365aa83099183"), title: 'Third Message', description: 'Item 3', remindTime: { date: '2020-09-28', time: '9:50:21 pm' }, isComplete: false, } const parseDate1= remindTime.remindTime.date.split('-'); //this returns [2021,09,28] const parseDate2= remindTime2.remindTime.date.split('-'); //this returns [2021,09,26] var a = moment(parseDate1); var b = moment(parseDate2); //then you can compare dates in different ways sush us: a.diff(b, 'days') // 1 a.diff(b) // 86400000 => this is miliseconds a.diff(b, 'years'); // 1También podría ser más fácil pensar que diff es una especie de operador menos:
a.diff(b) // a - b < 0 b.diff(a) // b - a > 0Espero que funcione, para obtener más información, consulta esto: https://momentjs.com/docs/#/query/