Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.8K
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda