Mi aplicación se basa en gran medida en la hora del Pacífico. Si implemento mi aplicación en Google App Engine (región EE. UU. OESTE), la hora que calcula el motor de la aplicación en la nube es diferente a la de mi máquina local.
Intenté usar Moment-Timezone para obligar a la máquina del servidor en la nube a usar el formato de hora de Los Ángeles, sin embargo, todavía me da una hora diferente a la de mi máquina local.
¿Hay alguna manera de usar el momento para que los valores de tiempo sean consistentes sin importar dónde se implemente? ¿O implementé la zona momento-tiempo incorrectamente?
const test = moment(new Date(filteredTimeLeft)) const endTime = test.tz('America/Los_Angeles').unix(); console.log('endTime', endTime) const convertSec = Number(coin.seconds); console.log('convertSec', convertSec) const newDate = moment(new Date()) const calcTime = endTime - convertSec - newDate.tz('America/Los_Angeles').unix();No estoy seguro de cómo vino con nosotros en la new Date simple de JS junto con el momento, ni el uso de unix() .
Y no sé qué coin.seconds pueden ser...
De todos modos, aquí un ejemplo que muestra
let js_date = new Date(); console.log("Plain JS date", js_date); let moment_UTC = moment().utc(); console.log("UTC time", moment_UTC.format("hh:mm:ss")); let moment_local = moment(); console.log("Your local time", moment_local.format("hh:mm:ss")); let moment_Los_Angeles = moment().tz('America/Los_Angeles'); console.log("Los Angeles", moment_Los_Angeles.format("hh:mm:ss")); let moment_New_York = moment().tz('America/New_York'); console.log("New York", moment_New_York.format("hh:mm:ss")); <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script> <script src="https://momentjs.com/downloads/moment-timezone-with-data.js"></script>