Estoy creando una aplicación React donde consulto Microsoft Graph API donde obtengo la fecha de respuesta 2021-11-03T07:45:00.0000000 .
Cuando intento convertirlo a una Date de JavaScript como esta, me da "fecha no válida" en let date = new Date(dateString);
let dateString = "2021-11-03T07:45:00.0000000" let date = new Date(dateString); let timezoneOffset = date.getTimezoneOffset(); date.setMinutes(date.getMinutes() - timezoneOffset); let hours = date.getHours(); let minutes = date.getMinutes(); let formattedMinutes = minutes > 9 ? minutes : '0' + minutes; console.log(hours + ':' + formattedMinutes); Esto funciona en JS normal, pero el problema es que uso un CMS (JS del lado del servidor) que no es compatible con la new Date(dateString) , entonces, ¿es posible formatear el valor de la fecha a 8:45 sin usar el constructor de fecha en JS ? (Las bibliotecas npm funcionan en el CMS, por lo que si tiene alguna solución con bibliotecas de terceros, está bien).
Una expresión regular podría ayudar en esta situación. Este es un ejemplo simple cuando no hay compensación de zona horaria.
str = '2021-11-03T07:45:00.0000000' const time = str.match(/[0-9]{4}-[0-9]{2}-[0-9]{2}T([0-9:]{5})/)[1] const timeFormatted = time.split(':').map(num => parseInt(num)).reduce((timeFormatted, num) => { if (timeFormatted) timeFormatted += ':' timeFormatted += num return timeFormatted }) console.log(timeFormatted)