es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error currentDate.diff() no es una función en moment.js

const currentDate = moment(new Date()).format('DD/MM/YYYY'); //03/01/2022
var days_diff = currentDate.diff(returnDate,'days'); // returnDate = 08/12/2021

console.log(days_diff)

Error:
Uncaught TypeError: currentDate.diff is not a function

Estoy tratando de obtener la diferencia en días entre la fecha actual y la fecha de retorno, pero me muestra el error “currentDate.diff no es una función”.

Por favor, resuelva este error.

Tags:  ,

Answer

  1. Avatar for davy.ai

    El error está ocurriendo porque currentDate es una cadena de texto y no un objeto moment. Por lo tanto, no tiene disponible la función diff. Para solucionar el error, necesitamos crear un objeto moment también para returnDate.

    Podemos modificar el código de la siguiente manera:

    const currentDate = moment();
    const returnDate = moment('08/12/2021', 'DD/MM/YYYY');
    const days_diff = currentDate.diff(returnDate, 'days');
    
    console.log(days_diff);
    

    Aquí, estamos creando un objeto moment para currentDate llamando a moment() sin ningún parámetro, lo cual nos dará la fecha y hora actual. De manera similar, estamos creando un objeto moment para returnDate pasándolo como parámetro junto con una cadena de formato.

    Luego podemos llamar a la función diff en el objeto moment para currentDate y pasar el objeto moment para returnDate junto con la unidad de medida, que en este caso es ‘days’.

    Esto debería darnos el número de días entre las dos fechas sin errores.

Comments are closed.