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

792
Views
Cambiar la hora según TimeZone en React

Tengo un método que obtiene un parámetro como una cadena de tiempo "15:35". Esa hora está en UTC TimeZone. Pero quiero convertirlo a una zona horaria diferente (por ejemplo, América/Nueva_York o...).

Los ejemplos dicen que hay un paquete llamado "momento" que tiene un método "tz", pero lo verifiqué y no existe tal método en ese paquete. Además, no debo actualizar el paquete o instalar uno. ¿Cómo podría convertir el tiempo dado según la zona horaria dada sin analizar?

Ejemplo: Dado "18:35" en UTC -> Esperado 14:35 en América/Nueva_York

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

0

Le sugiero que use moment porque es muy fácil de usar en comparación con javascript/mecanografiado puro.

Puedes usar el siguiente método para hacerlo:

 moment.tz.setDefault(String)

En su caso, puede establecer la zona horaria en América/Nueva_York de la siguiente manera:

 moment.tz.setDefault("America/New_York")

Puede obtener más información en https://momentjs.com/timezone/docs/#/using-timezones/default-timezone/

about 4 years ago · Juan Pablo Isaza Report

0

Realmente no entiendo por qué no puedes instalar un paquete. Si puede usar moment.js (que recomendaría) y su cadena no es una cadena de fecha (como "2021-09-22T15: 35: 00Z"), podría resolverlo así:

 function changeDatetimeByTimezone(datetime, timezone) { const parsedDateAsUtc = moment.utc() .startOf('day') .add(datetime.substring(0, 2), "hours") .add(datetime.substring(3, 5), "minutes"); return parsedDateAsUtc.clone().tz(timezone).format("hh:mm"); }

y luego usarlo así:

 const dateTimeNY = changeDatetimeByTimezone("15:35", "America/New_York"); // 11:35 const dateTimeBE = changeDatetimeByTimezone("15:35", "Europe/Berlin"); // 17:35
about 4 years ago · Juan Pablo Isaza Report

0

Instale el paquete moment-timezone . Ayudará a convertir el tiempo. Consulte el siguiente enlace.

https://momentjs.com/timezone/

Cómo utilizar:

1. Importe los dos paquetes a continuación en la parte superior de su archivo de componentes.

 import moment from "moment"; import 'moment-timezone';

2.Convierta la hora de la siguiente manera.

 var localTime = moment.utc('18:35', "HH:mm").tz('America/New_York').format("HH:mm"); console.log(localTime);
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!