Tengo una fecha de muestra:
const date = '10-03-2022';Necesito verificar si esta fecha es mayor a 3 semanas o no. O hablando de otra manera: necesito verificar si esta fecha es de las últimas 3 semanas o más.
Estaba intentando con date-fns pero no es el resultado que esperaba.
import { formatDistance, subWeeks } from 'date-fns' formatDistance(subWeeks(new Date(), 3), date)No tengo que ser honesto con ninguna idea de cómo lidiar con tal problema. Es por eso que quería pedirte ayuda aquí. ¡Gracias!
Puede usar isAfter para comparar con subWeeks . Esto devolverá verdadero incluso si la fecha está en el futuro a partir de now .
Alternativamente, puede usar isWithinInterval para probar si la fecha está dentro del período entre now y tres semanas antes de now . (no incluido en la versión cdn disponible).
const dateIsWithinInterval = isWithinInterval(testDate, { start: subWeeks(new Date(), 3), end: new Date() })Aún deberá analizar su cadena en un objeto de fecha válido.
//import { isAfter, subWeeks } from 'date-fns'; const { isAfter, subWeeks } = dateFns; // cdn assignment const dateString = '10-06-2022'; const [d, m, y] = dateString.split('-').map(n => parseInt(n, 10)); // months are 0 indexed so you need to subrtract 1. const testDate = new Date(y, m - 1, d); const dateIsAfter = isAfter(testDate, subWeeks(new Date(), 3)); console.log('isAfter:', dateIsAfter); <script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/2.0.0-alpha0/date_fns.min.js" integrity="sha512-0kon+2zxkK5yhflwFqaTaIhLVDKGVH0YH/jm8P8Bab/4EOgC/n7gWyy7WE4EXrfPOVDeNdaebiAng0nsfeFd9A==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>