Tengo una cadena en el siguiente formato:
yyyy-mm-dd hh:mm
Esta cadena se basa en la zona horaria del navegador del cliente. Necesito convertir esto en una cadena que muestre la hora en UTC.
Puedo calcular cuántas horas está usando el desplazamiento:
new Date().getTimezoneOffset() / 60
Lo cual está bien si la hora no se retrasa un día (por ejemplo, si hay un desplazamiento de -2 horas para aplicar a la 1 a. m.).
¿Cuál sería la mejor manera de lograr esto?
Con este código, puede convertir las cadenas de fecha en el lado del cliente a la hora UTC correspondiente.
let now = new Date() // Thu Oct 28 2021 15:31:17 GMT+0200 // this Date in your given format would be >> let dateStr = '2021-10-28 15:31' let utcDate = new Date(dateStr).toUTCString() console.log(utcDate) // Thu, 28 Oct 2021 13:31:00 GMT << -02:00 to my local time above let isoDate = new Date(dateStr).toISOString() console.log(isoDate) // 2021-10-28T13:31:00.000Z << better format for storing dates