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

117
Views
Convertir Hora de Json de UTC a IST

Así que soy un aficionado y estoy aprendiendo javascript en línea, pero ahora estoy atascado en algo que estoy intentando.

Obtengo una hora de json en formato UTC (por ejemplo, 16:00:00Z) y quiero ingresar a IST.

 var main = function () { json_url = "http://ergast.com/api/f1/current/next.json"; xhr = new XMLHttpRequest(); xhr.open("GET", json_url, false); xhr.send(null); weather = JSON.parse(xhr.responseText); mydate = weather.MRData.RaceTable.Races[0].Qualifying.time; mytime = Date(mydate); mytime = mytime.toLocaleString(); return mytime }

Por lo que entendí en línea, intenté agregar

 mytime = mytime.toLocaleString();

Pero eso devuelve mi día, fecha y hora locales y no la hora de json como pretendía. Cualquier ayuda será apreciada.

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

0

Como se señaló en los comentarios, el constructor de fecha llamado como una función simplemente devuelve una cadena para la fecha y hora actuales como si se llamara a new Date().toString() .

No hay "formato UTC". UTC es un estándar de tiempo, el que está buscando es ISO 8601.

La URL devuelve un archivo JSON con la fecha y hora como:

 "date":"2022-04-10", "time":"05:00:00Z"

El análisis de cadenas con el constructor incorporado es algo problemático, consulte ¿Por qué Date.parse da resultados incorrectos? .

Sin embargo, para convertir la fecha y la hora en una Fecha, puede concatenar las partes para formar una marca de tiempo ISO 8601 válida como:

 2022-04-10T05:00:00Z

que será analizado correctamente por el analizador incorporado usando el constructor de fecha , por ejemplo

 let date = weather.MRData.RaceTable.Races[0].Qualifying.date; let time = weather.MRData.RaceTable.Races[0].Qualifying.time; let mydate = new Date(`${date}T${time}`;

Como un fragmento ejecutable:

 let obj = {"date":"2022-04-10", "time":"05:00:00Z"}; let date = new Date(`${obj.date}T${obj.time}`); // UTC console.log(date.toISOString()); // Local to host console.log(date.toString()); // In Australia/Melbourne (also contained in the JSON) console.log(date.toLocaleString('en-AU', {timeZone:'Australia/Melbourne', timeZoneName:'short'})); // In India console.log(date.toLocaleString('en-AU', {timeZone:'Asia/Kolkata', timeZoneName:'long'}));

No olvide declarar las variables, de lo contrario, se volverán globales (o arrojarán un error en modo estricto).

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!