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

1.8K
Views
¿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 answers
Answer question

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 Report

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 Report

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 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!