Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

122
Visualizações
convertir el tiempo a la zona horaria local no funciona con moment.js en React

Estoy convirtiendo una marca de tiempo en un objeto DB usando moment :

 {moment(comment.created_at).local(true).format('h:mm a')}

Mi tiempo se emite en tiempo UTC porque así es como se crea en mi base de datos. Así que veo '6:45 p. m.', por ejemplo, cuando quiero ver la hora en MI zona horaria (EST) o la zona horaria relativa del usuario. ¿De acuerdo con el momento en que docs local() se convertirá a su zona horaria actual? Llamar al método local() como se muestra en mi código anterior no cambia la zona horaria. ¿Estoy usando esto incorrectamente?

Mi objeto DB

 { client_id: 24 created_at: "2022-02-11 17:41:39.330443" id: 22 report: "sfsf" report_category: "Client Assigned" volunteer_id: 23 }
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Su base de datos está almacenando la fecha sin un indicador de compensación. Esto significa que ese momento no puede determinar automáticamente la zona horaria. Según la documentación sobre las fechas de análisis :

momento (...) es el modo local. Se supone que la entrada ambigua (sin desplazamiento) es la hora local. La entrada inequívoca (con desplazamiento) se ajusta a la hora local. * moment.utc(...) es el modo utc. Se supone que la entrada ambigua es UTC.

Entonces, si sabe que su entrada es UTC y sabe que no tendrá un indicador de compensación, use moment.utc() en lugar de moment() .

Además, no desea utilizar local(true) , ya que pasar "true" solo cambiará la zona horaria en el objeto sin cambiar la hora (consulte la documentación ). Así que te queda:

 {moment.utc(comment.created_at).local().format('h:mm a')}
about 4 years ago · Juan Pablo Isaza Relatório

0

Convertí su marca de tiempo DB en formato ISO y luego pasé a su implementación

 let t = "2022-02-11 17:41:39.330443" let utcISOTimestamp = moment.utc(t).toDate() console.log(utcISOTimestamp) //let res = moment(utcISOTimestamp).local(true).format('h:mm a'); let res = moment(moment.utc(t).toDate()).local(true).format('h:mm a'); console.log(res)
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>

about 4 years ago · Juan Pablo Isaza Relatório

0

Intenta usar:

 moment.utc('2022-02-11 17:41:39').local().format('YYYY-MM-DD HH:mm:ss')
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda