Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

226
Views
¿Convertir PST a UTC usando Moment?

¿Es posible convertir el lunes, 07 de febrero de 2022 a las 08:30:30 p. m., hora del Pacífico, al formato de hora UTC usando el momento?

he intentado hacer esto

 const endTime = timezone(filteredTimeLeft, "ddd, MMM DD, YYYY hh:mm:ss a").utcOffset(-8);'

Pero, ¿cómo sabe Moment que el parámetro de fecha insertado es la hora del Pacífico?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Moment es EOL , así que comenzaré con su sucesor Luxon .

PST es una definición ambigua de zona horaria, por lo que no se admite. Use UTC-8 si se refería a la compensación exacta o IANA America/Los_Angeles etc. si desea atender el horario de verano.

 const { DateTime } = require('luxon') const filteredTimeLeft = "Mon, Feb 07, 2022 08:30:30 PM" // Create a DateTime in the default zone const local = DateTime.fromFormat(filteredTimeLeft, "EEE, MMM dd, yyyy hh:mm:ss a") console.log(local.toLocaleString(DateTime.DATETIME_FULL)) //=> 7 February 2022, 8:30 pm GMT+1 // Set a custom zone, don't adjust the time const local_set_pst = local.setZone("UTC-8", { keepLocalTime: true }) console.log(local_set_pst.toLocaleString(DateTime.DATETIME_FULL)) //=> 7 February 2022, 8:30 pm GMT-8 // Adjust to UTC const pst_adjust_utc = local_set_pst.toUTC() console.log(pst_adjust_utc.toLocaleString(DateTime.DATETIME_FULL)) //=> 8 February 2022, 4:30 am UTC

en un solo paso

 const pst_utc = DateTime.fromFormat( filteredTimeLeft, "EEE, MMM dd, yyyy hh:mm:ss a", { zone: "UTC-8" } ).toUTC() console.log(pst_utc.toLocaleString(DateTime.DATETIME_FULL)) //=> 8 February 2022, 4:30 am UTC

Similar en el momento, que es un buen ejemplo de por qué la API cambió por luxon:

 const moment = require('moment-timezone') const filteredTimeLeft = "Mon, Feb 07, 2022 08:30:30 PM" // Read time, setting a zone const endTime = moment.tz(filteredTimeLeft, "ddd, MMM DD, YYYY hh:mm:ss a", "America/Los_Angeles") console.log(endTime.format("ddd, MMM DD YYYY, h:mm:ss a")) // Mon, Feb 07 2022, 8:30:30 pm // UTC const utcEndTime = endTime.clone().utc() console.log(utcEndTime.format("ddd, MMM DD YYYY, h:mm:ss a")) // Tue, Feb 08 2022, 4:30:30 am // be careful with moment though, if you don't clone(), endTime will be modified endTime.utc() console.log(endTime.format("ddd, MMM DD YYYY, h:mm:ss a")) // Tue, Feb 08 2022, 4:30:30 am
about 4 years ago · Juan Pablo Isaza Report

0

Puede leer la documentación , que lo llevará a Moment Timezone , un decorador para Moment.js que agrega soporte para zonas horarias.

Pero también puede notar que Moment.js está esencialmente obsoleto :

En general, ahora consideramos que Moment es un proyecto heredado en modo de mantenimiento. No está muerto, pero sí está hecho.

En la práctica, esto significa:

  • No agregaremos nuevas características o capacidades.
  • No cambiaremos la API de Moment para que sea inmutable.
  • No abordaremos problemas de sacudidas de árboles o tamaño de paquetes.
  • No haremos ningún cambio importante (ninguna versión 3).
  • Podemos optar por no corregir errores o anomalías en el comportamiento, especialmente si son problemas conocidos de larga data.

Y que podría considerar usar en su lugar una biblioteca más moderna como Luxon , escrita por uno de los mantenedores de Moment y mantenida por el equipo de Moment.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!