Obtengo un estado de fecha y hora como: "2022-05-18T18:30:00.000Z" - un momento de fecha y hora, luego lo convierte a Unix. Pero lo convierto en mi zona horaria local. ¿Cómo cambio la zona horaria de la fecha y hora de Unix y vuelvo en el mismo formato de Unix?
Zona horaria que obtengo - Asia/Singapur
Código:
this.state.startTimeDate.unix() //This is how I convert it to unix format¿Cómo cambiar este Unix a una zona horaria diferente?
Podría intentar convertir la fecha a la zona horaria del cliente antes de volver a convertir a Unix usando un momento como este...
moment .unix(1399335987) .tz('MST') .format('YYYY-MM-DDTHH:mm:ssZ');y obtienes
"2022-05-20T17:01:27-07:00"Antes de volver a convertir a Unix de nuevo. Espero que esto ayude
No estoy muy seguro de qué tan precisa o correcta es mi "solución", pero al tener que generar marcas de tiempo de Unix para un bot de Discord, terminé haciendo algo similar a esto (aunque un poco más corto):
const moment = require('moment-timezone') const riseTime = moment("05:41", 'HH:mm', 'America/Toronto') // Moment<2022-06-14T05:41:00+00:00> let bootlegUnix = Math.round(riseTime.valueOf() / 1000) // 1655185260Básicamente soy un idiota, pero esto logró lo que buscaba.