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

225
Visualizações
¿Cómo hago una fecha con new Date() en javascript dada la información de una matriz en php?

Estoy iterando a través de una serie de elementos en php y accediendo a cada elemento a través de javascript. Quiero comparar fechas, pero para hacerlo tengo que sacar la información que necesito para hacer un nuevo objeto Date(). Así es como se ve la información en php:

 "0": { . . . "dateInfo": { "date": "2021-11-19 00:00:000000", "timezone_type": 3, "timezone: "UTC" }, . . . },

Estoy accediendo a estos desde una matriz en javascript haciendo:

 array["0"]["dateInfo"]

Traté de tomar solo el mes y la fecha del año y convertirlo en un nuevo objeto Date() haciendo esto:

 var parts = array["0"]["dateInfo"]["date"].split('-'); var dateToComp = new Date(parts[0], parts[1], parts[2]);

Pero cuando hice un console.log(dateToComp); decía que era una fecha inválida. Mi objetivo final es comparar esta fecha con la fecha de hoy para obtener algo a la moda:

 var today = new Date() var parts = array["0"]["dateInfo"]["date"].split('-'); var dateToComp = new Date(parts[0], parts[1], parts[2]); if(dateToComp < today) { return 0; // in the past } else { return 1; // same day or future day }

Espero que lo que estoy tratando de decir tenga sentido y cualquier ayuda sería muy apreciada. Gracias.

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

0

Pero cuando hice un console.log(dateToComp); decía que era una fecha inválida.

Porque parts[2] es "19 00:00:000000", que es un componente de fecha no válido. En su lugar, divida en cualquier carácter que no sea un dígito \D . Además, debe restar 1 del mes.

P.ej

 let date = '2021-11-19 00:00:000000'; // Split on any non–digit character let [y, m, d] = date.split(/\D/); // Months are zero indexed // Treat input as local console.log(new Date(y, m-1, d).toString()); // Treat input as UTC console.log(new Date(Date.UTC(y, m-1, d)).toISOString());

about 4 years ago · Juan Pablo Isaza Relatório

0

var dateToComp = new Date(parts[0], parts[1], parts[2].split(' ')[0]);
about 4 years ago · Juan Pablo Isaza Relatório

0

new Date(array["0"]["dateInfo"]["date"])

Deberia trabajar

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