Estoy haciendo una llamada api y obteniendo la siguiente respuesta.
{ "Country": "USA", "FaceValueCcy": "", "IsApproved": true, "MDate": "/Date(1742130000000+1100)/", "MtmInUsd": 0, }Cuando intento convertir el MDate al formato 'DD-MMM-YYYY'. Espero el resultado como '17 de marzo de 2025' pero me da el resultado como '16 de marzo de 2025'. Este es el código que estoy usando para convertir la fecha.
moment('/Date(1742130000000+1100)/').utc().format('DD-MMM-YYYY')Cuando consulto el valor '1742130000000' en epochconvertor , me da 16-Mar-2025. ¿Por qué el momento ignora +1100? ¿Hay alguna forma alternativa de resolver este problema?
Debe usar parseZone() para mantener el desplazamiento.
console.log(moment.parseZone('/Date(1742130000000+1100)/').utc().format('DD-MMM-YYYY')); console.log(moment.parseZone('/Date(1742130000000+1100)/').utc().format()); // full time console.log(moment.parseZone('/Date(1742130000000+1100)/').format()); // full time without UTC conversion <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>Referencia: https://github.com/moment/moment/issues/3291
Usar paeseZone
moment('/Date(1742130000000+1100)/').parseZone().format('DD-MMM-YYYY')Debería ser:
moment.parseZone('/Date(1742130000000+1100)/').format('DD-MMM-YYYY')