Quiero saber si una fecha (2021-11-09) es posterior a otra fecha (2021-11-11) en formato AAAA-MM-DD, que debería ser falso, ¿verdad?
console.log( moment("2021-11-09", "YYYY-MM-DD", true).isAfter( "2011-11-11", "YYYY-MM-DD", true ) );pero, el código anterior devuelve verdadero.
el documento de momentjs dice:
Si desea limitar la granularidad a una unidad que no sea milisegundos, pase las unidades como segundo parámetro.
Como el segundo parámetro determina la precisión , y no solo un valor único para verificar, usar el día verificará el año, el mes y el día.
Por lo tanto, debe usar una unidad en lugar de una cadena de formato, aunque parece que el resultado es el mismo.
console.log( moment("2021-11-09", "YYYY-MM-DD", true).isAfter( "2011-11-11", "day" //"YYYY-MM-DD" ) ) console.log( moment("2021-11-09", "YYYY-MM-DD", true).isAfter( "2021-11-11", "day" //"YYYY-MM-DD" ) ) <script src="https://unpkg.com/moment@2.29.1/moment.js"></script>Las fechas que está comparando en el código y las de sus preguntas no están alineadas. Y el código está volviendo verdadero correctamente. Porque 2021-11-09 es de hecho después de 2011-11-11