He estado tratando de trabajar en algo con fechas y me preguntaba cómo verificar si hay menos de 30 minutos o 15 minutos de diferencia, entonces debería llamar a una función.
let btnCheck = document.querySelector('button'); let result = document.querySeletor('h1'); let current = new Date(); let date = new Date('01/01/2021'); btnCheck.addEventListener('click', () => { let ms1 = current.getTime(); let ms2 = date.getTime(); result.innerText = ms2 < ms1; });Hasta ahora, da como resultado verdadero o falso, pero quería agregar algo si la fecha actual es menor que la fecha por 15 minutos o 30 minutos, muestre un botón.
Actualización: usar Moment Library puede ser posible a través de algo como esto: https://momentjs.com/docs/#/displaying/difference/ Pero solo voy a usar esto para una función de una sola vez.
¡Gracias de antemano! ¡Muy apreciado!
Como ya dijo Vasyl , puede usar la biblioteca de momentos para esto.
Si realmente quiere usar javascript puro, la documentación del objeto Date en JS es bastante buena. Echa un vistazo aquí . Hay que tener en cuenta que la diferencia se da en milisegundos, por eso los cálculos. Basado en el ejemplo de documentación, lo haría así (¡Eres libre de refactorizar!):
let btnCheck = document.querySelector('button'); let result = document.querySelector('h1'); let current = new Date(); let date = new Date('01/01/2021'); btnCheck.addEventListener('click', () => { let ms1 = current.getTime(); let ms2 = date.getTime(); //This checks if the difference is less than 15 minutes if((ms1 - ms2) / 1000 / 60 < 15 ){ }; //This checks if the difference is less than 30 minutes if((ms1 - ms2) / 1000 / 60 < 30 ){ }; });Puedes hacer algo como esto -
const btnCheck = document.querySelector('button'); const result = document.querySeletor('h1'); let current = new Date('2011/10/09 12:00'); let date = new Date('2011/10/09 11:30'); btnCheck.addEventListener('click', () => { const diff = Math.abs(current - date); if (diff === 15 || diff === 30) { // if (diff <= 30) { result.innerText = diff; btnCheck.disabled = false; }else{ btnCheck.disabled = true; } });