Quiero comparar 2 fechas. uno es "actual y" y el segundo es "fecha de reinicio".
const todayDate = () => { const date = new Date(); date.setDate(date.getDate()); const dd = date.getDate(); const mm = date.getMonth(); const y = date.getFullYear(); const currentDate = dd + '/'+ mm + '/'+ y; return currentDate } if (resetDate > todayDate) { return res.json(`Sorry, you can't change the username right now. Try again at ${resetDate}`) }Obtengo la fecha de reinicio de la base de datos y su "estructura" se ve así: "1/1/0000"
Entonces, quiero verificar si la fecha de reinicio es> que la fecha de hoy, pero parece que no funciona. ¿Alguien tiene una idea de cómo puedo verificar si la fecha de reinicio es> esa fecha de hoy? Como, comparar 2 fechas.
Primero, asegúrese de que el formato de su fecha sea correcto. si no funciona, siga los siguientes pasos:
Según yo, ve por el momento ( https://momentjs.com/ ). está probado y es fácil de usar.
Puedes lograr eso con este código:
function dateIsValid( resetDate ) { var resetDate = new Date( resetDate ); if ( resetDate > new Date() ) { // new Date() returns today date return false; } else { return true; } } function checkDate( resetDate ) { if ( !dateIsValid( resetDate ) ) { return JSON.stringify(`Sorry, you can't change the username right now. Try again at ${resetDate}`); } else { // do whatever return JSON.stringify('Your username changed successfully'); } } // here is an example: console.log( checkDate('2020/12/1') );Parece que está utilizando el formato de hora de la UE dd.mm.yyyy , por lo que lo primero sería dividir las cadenas de fecha para poder crear objetos de fecha.
Y luego, una vez que se tienen los objetos Date, se puede usar el método getTime() para recuperar la cantidad de milisegundos desde la época de Unix (1 de enero de 1970) para comparar ambas fechas.
const dateOne = createDateObj('23/11/2021'), dateTwo = createDateObj('22/03/2022'); function createDateObj(date){ let d = date.slice(0,2), m = date.slice(3,5), y = date.slice(6,10); return new Date(y,m,d) } if(dateOne > dateTwo){ console.log('date one is more recent than date two') } else{ console.log('date two is more recent than date one') }