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

1.8K
Visualizações
¿Cómo convertir la fecha de Moment.js a la zona horaria local de los usuarios?

Uso los marcos Moment.js y Moment-Timezone, y tengo un objeto de fecha Moment.js que está explícitamente en la zona horaria UTC. ¿Cómo puedo convertir eso a la zona horaria actual del navegador?

 var testDateUtc = moment.tz("2015-01-30 10:00:00", "UTC"); var localDate = ???

Así que estaría bien si pudiera averiguar la zona horaria local de los usuarios; o, alternativamente, me gustaría convertir el objeto de fecha en otro objeto de datos que solo use la "zona horaria local", sin importar cuál sea realmente.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

No necesita usar moment-timezone para esto. La biblioteca principal de moment.js tiene una funcionalidad completa para trabajar con UTC y la zona horaria local.

 var testDateUtc = moment.utc("2015-01-30 10:00:00"); var localDate = moment(testDateUtc).local();

Desde allí puede usar cualquiera de las funciones que podría esperar:

 var s = localDate.format("YYYY-MM-DD HH:mm:ss"); var d = localDate.toDate(); // etc...

Tenga en cuenta que al pasar testDateUtc , que es un objeto de moment , de vuelta al constructor moment() , crea un clon . De lo contrario, cuando llamaste a .local() , también cambiaría el valor testDateUtc , en lugar de solo el valor localDate . Los momentos son mutables .

También tenga en cuenta que si su entrada original contiene un desplazamiento de zona horaria como +00:00 o Z , puede analizarlo directamente con moment . No necesita usar .utc o .local . Por ejemplo:

 var localDate = moment("2015-01-30T10:00:00Z");
over 4 years ago · Santiago Trujillo Relatório

0

var dateFormat = 'YYYY-DD-MM HH:mm:ss'; var testDateUtc = moment.utc('2015-01-30 10:00:00'); var localDate = testDateUtc.local(); console.log(localDate.format(dateFormat)); // 2015-30-01 02:00:00
  1. Defina su formato de fecha.
  2. Cree un objeto de momento y establezca el indicador UTC en verdadero en el objeto.
  3. Cree un objeto de momento localizado convertido a partir del objeto de momento original.
  4. Devuelve una cadena formateada del objeto de momento localizado.

Consulte: http://momentjs.com/docs/#/manipulating/local/

over 4 years ago · Santiago Trujillo Relatório

0

Esto es lo que hice:

 var timestamp = moment.unix({{ time }}); var utcOffset = moment().utcOffset(); var local_time = timestamp.add(utcOffset, "minutes"); var dateString = local_time.fromNow();

Donde {{ time }} es la marca de tiempo utc.

over 4 years ago · Santiago Trujillo 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