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

132
Visualizações
encuentre la fecha y hora futuras más cercanas a la de hoy en la respuesta json

Estoy recibiendo una respuesta de mi api donde se da start_time . Quiero extraer la identificación de json cuya próxima fecha es la más cercana a la fecha actual, que no incluye fechas pasadas.

Un ejemplo de mi respuesta json:

 [ { "expected": { "id": 1, "start_time": "2021-10-01T06:35:00.659Z" } }, { "expected": { "id": 2, "start_time": "2021-11-30T17:08:29.307Z" } }, { "expected": { "id": 3, "start_time": "2021-11-30T09:49:18.574Z" } }, { "expected": { "id": 4, "start_time": "2021-09-30T15:08:29.303Z" } }, ]

Aquí, lo que he hecho hasta ahora es encontrar la fecha y hora más cercana a la fecha y hora de hoy:

 const today = new Date().getTime(); const result = response.sort((a: any, b: any) => { const diffA = new Date(a.expected.shift_start_time).getTime() - today; const diffB = new Date(b.expected.shift_start_time).getTime() - today; return diffA - diffB; })[0];

al usar esto, obtengo la id de la fecha y hora más cercana a partir de hoy. Pero el result a veces también incluye una start_time de inicio de una fecha pasada si es la más cercana a la fecha de hoy.

Quiero obtener una id que no incluya start_time de fechas pasadas. No puedo obtener la lógica de cómo se puede hacer

Otro enfoque que hice:

 var today = moment(); for (let index = 0; index < response.length; index++) { const element = response[index].start_time; var dateDiff = today.diff(element, 'days') * -1; if (dateDiff >= 0) { console.log('>>d>>', dateDiff); } }

consola:

 >>d>> -0 >>d>> 1 >>d>> -0

Desde aquí, ¿cómo puedo devolver la respuesta requerida? por favor ayuda

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

0

Tal vez no ordene la lista en absoluto. Dado que solo necesita una fecha y hora que sea la más cercana a la fecha actual, ordenar la 'lista' completa no parece ser la forma óptima de obtener su respuesta. Puede usar el siguiente enfoque,

  • Guardar DateTimeStamp actual en una variable local
  • Inicie un ciclo a través de su lista
  • Realice una verificación de su elemento actual si la fecha es posterior a la marca de tiempo local que almacenó.
  • Para el primer elemento, almacene el elemento como su respuesta actual y para cualquier otro elemento compare la diferencia con la marca de tiempo guardada y modifique su respuesta en consecuencia.
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