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

304
Visualizações
Transforme la cadena ISO en el objeto de fecha javascript sin formato en la fecha local

Estoy tratando de convertir la cadena 2022-02-01T13:36:57+00:00 en un javascript de objeto de fecha que me devuelve Tue Feb 01 2022 13:36:57 sin tener en cuenta la zona horaria.

Pero cada vez que trato de convertir la fecha, regresa: Tue Feb 01 2022 10:36:57 GMT-0300 (Brasilia Standard Time)

Ya probé con moment: let now = moment("2022-02-01T13:36:57+00:00").toDate();

con fecha: let now = new Date("2022-02-01T13:36:57+00:00");

con UTC también: new Date(Date.UTC(2022, 02, 01, 10, 36, 57))

Pero todos me devuelven la fecha local (hora estándar de Brasilia)

Entonces, la pregunta es:

¿Cómo puedo convertir esta cadena 2022-02-01T13:36:57+00:00 en un objeto Fecha que mantiene el mismo día, hora, etc.?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

La marca de tiempo "2022-02-01T13:36:57+00:00" representa un momento único en el tiempo. Si se analiza en un objeto de fecha, creará una instancia de fecha con un valor de tiempo de 1643722617000, que es el desplazamiento en milisegundos desde la época de ECMAScript del 1 de enero de 1970.

El valor de tiempo producido a partir de la marca de tiempo no se ve afectado por la configuración local como:

  1. Se ajusta a uno de los formatos admitidos por ECMA-262 y, por lo tanto, el análisis está especificado por el estándar
  2. Contiene un desplazamiento fijo

El método toString predeterminado produce una marca de tiempo para la fecha y la hora equivalentes en la zona horaria del sistema host, normalmente denominada fecha y hora locales. Producirá una fecha y hora diferente para cada host con un desplazamiento diferente, pero todos representarán exactamente el mismo momento en el tiempo.

P.ej

 let timestamp = '2022-02-01T13:36:57+00:00'; let date = new Date(timestamp); ['UTC','America/Sao_Paulo','Asia/Kolkata'].forEach( loc => console.log(`${date.toLocaleString('default',{timeZone:loc})} - ${loc}`) )

Si desea que la marca de tiempo se analice como local (y eso solo debe hacerse si sabe lo que está haciendo y tiene una muy buena razón para hacerlo), elimine el desplazamiento y analice el resto:

 let timestamp = '2022-02-01T13:36:57+00:00'; let date = new Date(timestamp.substring(0,19)); console.log(date.toString());

Tenga en cuenta que la fecha resultante representa un momento diferente en el tiempo para cada host con un desplazamiento diferente y cada instancia de fecha tendrá un valor de tiempo diferente.

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede crear una instancia de su propio formateador Intl.DateTimeFormat o llamar a Date.prototype.toLocaleString() .

 const dateString = '2022-02-01T13:36:57+00:00', date = new Date(dateString), dateFormatter = new Intl.DateTimeFormat('en-US', { timeZone: 'UTC', weekday: 'short', year: 'numeric', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit', timeZoneName: 'long', hour12: false }); console.log(`Local date : ${date}`); console.log(` UTC date : ${dateFormatter.format(date).replace(/,/g, '')}`);

about 4 years ago · Juan Pablo Isaza 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