let time = moment(); console.log( time .year(2021) .week(34) .day('monday') .format('D MMM YYYY'), ); <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" integrity="sha512-qTXRIMyZIFb8iQcfjXWCO8+M5Tbc38Qi5WzdPOYZHIlZpzBHG3L3by84BBBOiRGiEb7KKtAOAs5qYdUiZiQNNQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> Muestra el 16 Aug 2021 pero debería ser el 23 Aug 2021 , ¿por qué?
Funciona bien si el año es 2020, 2019, etc. pero falla en el año 2021
Cambia .week a .isoWeek y funciona.
const moment = require("moment"); let time = moment(); console.log( time .year(2021) .isoWeek(34) .day('monday') .format('D MMM YYYY'), );Más información de esta respuesta https://stackoverflow.com/a/68842658/6254964
No está mal . Si observa el calendario de 2021 , la semana 34th es 15 - 21 August . Lo especificó como Monday . Entonces es 16 Aug 2021 .
Nota: El comienzo de una semana es Sunday (norma ISO).