Necesito mostrar las fechas en mi aplicación web con la zona horaria PST. No debe depender de la zona horaria del usuario.
Probé el siguiente código:
const dateTime = DateTime.fromISO('2022-03-22T15:00:00.000Z'); dateTime.setZone("America/Los_Angeles"); console.log(dateTime.toLocaleString(DateTime.DATETIME_FULL));Pero de todos modos, muestra:
March 22, 2022, 4:00 PM GMT+1¿Cómo es posible definir la salida en la zona horaria?
Gracias
DateTimes son inmutables en luxon, por lo que la llamada .setZone() no cambiará su variable dateTime original, sino que devolverá un nuevo valor.
Sugeriría configurar la zona en la llamada .fromISO() :
const { DateTime } = luxon; const dateTime = DateTime.fromISO('2022-03-22T15:00:00.000Z', { zone: "America/Los_Angeles" }); console.log(dateTime.toLocaleString(DateTime.DATETIME_FULL)); console.log(dateTime.toISO()); .as-console-wrapper { max-height: 100% !important; } <script src="https://cdnjs.cloudflare.com/ajax/libs/luxon/2.3.1/luxon.min.js" integrity="sha512-Nw0Abk+Ywwk5FzYTxtB70/xJRiCI0S2ORbXI3VBlFpKJ44LM6cW2WxIIolyKEOxOuMI90GIfXdlZRJepu7cczA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>O puede llamar a .setZone() en el resultado de la llamada a .fromISO():
const { DateTime } = luxon; const dateTime = DateTime.fromISO('2022-03-22T15:00:00.000Z').setZone( 'America/Los_Angeles' ); console.log(dateTime.toLocaleString(DateTime.DATETIME_FULL)); console.log(dateTime.toISO()); .as-console-wrapper { max-height: 100% !important; } <script src="https://cdnjs.cloudflare.com/ajax/libs/luxon/2.3.1/luxon.min.js" integrity="sha512-Nw0Abk+Ywwk5FzYTxtB70/xJRiCI0S2ORbXI3VBlFpKJ44LM6cW2WxIIolyKEOxOuMI90GIfXdlZRJepu7cczA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>