Tengo una cadena de fecha '2021-09-27 07:43' También tengo la información de que la fecha está en (GMT-8:00) zona horaria de Alaska. Estoy en una zona horaria local diferente. Cuando convierto esta fecha a UTC, está tomando mi zona horaria como la zona horaria de referencia.
const str = new Date().toLocaleString('en-US', { timeZone: 'Etc/GMT' });¿Cómo hacerlo con respecto a una zona horaria específica como referencia en lugar de mi hora local?
Puedes convertirlo usando moment.js. ver Ejemplo:
var input = '2021-09-27 07:43'; var fmt = 'YYYY-MM-DD HH:mm'; // must match the input var zone = 'Etc/GMT'; var m = moment.tz(input, fmt, zone); m.utc(); var s = m.format(fmt) // result: console.log(s); <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.11/moment-timezone-with-data-2010-2020.min.js"></script>Probar:
let myDate = "2021-09-27 07:43"; let myDateUTC = new Date(myDate + " UTC-8"); // 2021-09-27T15:43:00.000Z