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

130
Views
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 answers
Answer question

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 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!