aquí está el ejemplo. lo tengo siempre regresa verdadero
const lastDiscountCode = moment(202352,"YYYYWW"); const currentWeek = moment().format("YYYYWW"); alert(moment(lastDiscountCode).isBefore(moment(currentWeek)));En moment(202352, "YYYYWW").format("YYYYWW") lo que ingresa dentro de la función moment toma los datos y los convierte primero en formato de fecha, y luego esa fecha se formatea en 'YYYYWW'. Entonces, lo que debería estar haciendo es ingresar una fecha dentro del momento y luego formatearlo en 'YYYYWW'
const lastDiscountCode = moment('2024-09-28').format("YYYYWW"); const currentWeek = moment().format("YYYYWW"); console.log(currentWeek); // "202204" console.log(lastDiscountCode); // "202439" alert(moment(lastDiscountCode).isBefore(moment(currentWeek))); // falseTienes que usar .format("YYYYWW") en lastDiscountCode :
const lastDiscountCode = moment(202352,"YYYYWW").format("YYYYWW"); const currentWeek = moment().format("YYYYWW"); console.log(moment(lastDiscountCode).isBefore(moment(currentWeek))); <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.2.1/moment.min.js"></script>