Tengo dos cadenas UTC y quiero calcular su diferencia usando javascript.
const stored = "2021-09-21T06:49:15.574Z" const now = "2021-09-21T07:49:15.574Z"Quiero que la salida sea en minutos.
Gracias por adelantado.
Convierta ambos a tiempo de época (milisegundos) usando getTime() y luego realice la división para obtener la cantidad de minutos:
const stored = "2021-09-21T06:49:15.574Z"; const now = "2021-09-21T07:49:15.574Z"; const minutes = (new Date(now).getTime() - new Date(stored).getTime()) / 1000 / 60; console.log(Math.floor(minutes)); Si prefiere confiar en el hecho de que los objetos de Date se convierten automáticamente a tiempo de época cuando se usan como operandos en una expresión matemática, incluso puede omitir las llamadas a getTime() :
const stored = "2021-09-21T06:49:15.574Z"; const now = "2021-09-21T07:49:15.574Z"; const minutes = (new Date(now) - new Date(stored)) / 1000 / 60; console.log(Math.floor(minutes));Consulte https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date para obtener más información sobre cómo usar las fechas.
// from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date // Using Date objects let start = Date.now() - 3.6e+6; // The event to time goes here: let end = Date.now(); let elapsed = end - start; // elapsed time in milliseconds let minutes = Math.floor(elapsed / 60000); console.log(minutes); const stored = "2021-09-21T06:49:15.574Z"; const now = "2021-09-21T07:49:15.574Z"; const minutes = (new Date(now) - new Date(stored)) / 60000; console.log("minutes difference is : " + Math.floor(minutes));