Tengo una función lambda de AWS, parte de la cual calcula la diferencia entre una fecha anterior y la fecha de hoy, se ajusta para representarla como días y finalmente la redondea al número más cercano, por lo que 12,8 días, por ejemplo, serán 13.
Me pregunto si alguien sabe si Lambda tiene alguna forma diferente de representar las funciones Date() , porque al registrar los resultados de varios pasos en el proceso, obtengo algunos valores extraños y, por lo tanto, mi función no funciona. Aquí hay algo de código:
const today = new Date(); let item = {lasetReceiptCreated: '2022-04-11T20:00:22.549Z'}; let lastReceiptCreated = new Date(item.lasetReceiptCreated); let dateDiff = today.getTime(); - lastReceiptCreated.getTime(); let diffInDays = Math.round(dateDiff / (1000 * 3600 * 24)); console.log('SkipDayCalc: ','\ndiff: ',diffInDays,'\ntoday.getTime: ',today.getTime(),'\nreceipt.getTime(): ',lastReceiptCreated.getTime());El registro resultante muestra esto:
SkipDayCalc: diff: 19097 today.getTime: 1649963123100 receipt.getTime(): 1649707222549 Entonces, ¿por qué mi valor de diffInDays regresa como 19097? Cuando corro en un entorno limitado de nodos, obtengo el valor correcto con el mismo código exacto.