• ¡Obtenga la seguridad de la aplicación de la manera correcta! Detectar, proteger, monitorear, acelerar y más ...
  • Trabajar con fechas no es una tarea fácil. Pero, el paquete date-fns facilita el trabajo con las fechas en JavaScript.

    Profundicemos en el paquete date-fns nos hace la vida más fácil que antes. El paquete date-fns es ligero.

    La instalación del paquete

    Necesitamos configurar el proyecto con npm para que funcione con un paquete de terceros. Veamos rápidamente los pasos para completar nuestra configuración.

    Supongo que tienes NodeJS instalado or IDE para practicar esto.

    • Navegue hasta el directorio deseado en el que desea trabajar.
    • Ejecuta el comando npm init para inicializar el proyecto.
    • Responda todas las preguntas según su preferencia.
    • Ahora, instale el date-fns usando el siguiente comando
    npm install date-fns
    • Crea un archivo llamado dateFunctions.js

    Ahora, estamos listos para saltar al paquete. date-fns. Vayamos y aprendamos algunos métodos esenciales del paquete.

    es válida

    Todas las fechas no son válidas.

    Por ejemplo, no hay una fecha como 2021-02-30. ¿Cómo podemos comprobar si la fecha es válida o no?

    El método isValid from the date-fns el paquete nos ayudará a encontrar si la fecha indicada es válida o no.

    Examine si el siguiente código funciona bien o no con la validez de las fechas.

    const { isValid } = require("date-fns");
    
    console.log(isValid(new Date("2021, 02, 30")));
    

    Si ejecuta el código anterior, encontrará 30th February 2021 es válido. ¡Oh! No es.

    ¿Por qué está sucediendo?

    JavaScript convierte el día extra de febrero en 1st March 2021 que es una fecha válida. Para confirmarlo, imprima new Date("2021, 02, 30") a la consola

    console.log(new Date("2021, 02, 30"));
    

    El paquete date-fns proporciona un método llamado parse para solucionar este problema. El método parse analiza la fecha que ha proporcionado y devuelve resultados precisos.

    Eche un vistazo al siguiente código.

    const { isValid, parse } = require("date-fns");
    
    const invalidDate = parse("30.02.2021", "dd.MM.yyyy", new Date());
    const validDate = parse("25.03.2021", "dd.MM.yyyy", new Date());
    
    console.log(isValid(invalidDate));
    console.log(isValid(validDate));
    

    formato

    Uno de los usos básicos al trabajar con fechas es formatearlas como queramos. Formateamos las fechas en diferentes formatos utilizando el format método del date-fns paquete.

    Formatee la fecha como 23-01-1993, 1993-01-23 10:43:55, Tuesday, January 23rd 1993, etc., Ejecute el siguiente código para obtener la fecha correspondiente en los formatos mencionados.

    const { format } = require("date-fns");
    
    console.log(format(new Date(), "dd-MM-yyyy"));
    console.log(format(new Date(), "dd/MM/yyyy HH:mm:ss"));
    console.log(format(new Date(), "PPPP"));
    

    Puedes encontrar la lista completa de formatos .

    addDays

    El método addDays se utiliza para establecer una fecha límite posterior a algunos días.

    Simplemente, podemos agregar días a cualquier fecha para obtener la fecha del día después de algunos días. Tiene muchas aplicaciones.

    Digamos que tienes un cumpleaños después de X días y estás ocupado esos días. Es posible que no recuerde el cumpleaños en su apretada agenda. Simplemente puede hacer uso de la addDays método para notificarle sobre el cumpleaños después de X días. Tenga el código.

    const { format, addDays } = require("date-fns");
    
    const today = new Date();
    
    // birthday after 6 days
    const birthday = addDays(today, 6);
    
    console.log(format(today, "PPPP"));
    console.log(format(birthday, "PPPP"));
    

    Similar al método addDays hay otros métodos como addHours, subHours, addMinutes, subMinutes, addSeconds, subSeconds, subDays, addWeeks, subWeeks, addYears, subYears, etc., puede adivinar fácilmente la funcionalidad de los métodos con sus nombres.

    Pruébalos.

    formatDistance

    Escribir código para comparar fechas desde cero es una pesadilla. ¿Por qué comparamos fechas de todos modos?

    Hay muchas aplicaciones en las que ha visto comparaciones de fechas. Si toma sitios web de redes sociales, habrá un eslogan que menciona 1 hace un minuto, hace 12 horas, hace 1 día, etc., aquí utilizamos la comparación de fechas desde la fecha y hora de publicación hasta la fecha y hora actuales.

    El método formatDistance hace lo mismo. Devuelve el intervalo entre las dos fechas dadas.

    Escribamos un programa para encontrar tu edad.

    const { formatDistance } = require("date-fns");
    
    const birthday = new Date("1956, 01, 28");
    const presentDay = new Date();
    
    console.log(`Age: ${formatDistance(presentDay, birthday)}`);
    

    eachDayOfInterval

    Digamos que tienes que buscar los nombres y fechas de los próximos X días. El método eachDayOfInterval nos ayuda a encontrar los días entre la fecha de inicio y la de finalización.

    Averigüemos dentro de los próximos 30 días a partir de hoy.

    const { addDays, eachDayOfInterval, format } = require("date-fns");
    
    const presentDay = new Date();
    const after30Days = addDays(presentDay, 30);
    
    const _30Days = eachDayOfInterval({ start: presentDay, end: after30Days });
    
    _30Days.forEach((day) => {
       console.log(format(day, "PPPP"));
    });
    

    max y min

    Los métodos max y min encuentra las fechas máxima y mínima entre las fechas dadas respectivamente. Los métodos en el date-fns son muy familiares y fáciles de adivinar la funcionalidad de esos métodos. Escribamos un código.

    const { min, max } = require("date-fns");
    
    const _1 = new Date("1990, 04, 22");
    const _2 = new Date("1990, 04, 23");
    const _3 = new Date("1990, 04, 24");
    const _4 = new Date("1990, 04, 25");
    
    console.log(`Max: ${max([_1, _2, _3, _4])}`);
    console.log(`Min: ${min([_1, _2, _3, _4])}`);

    es igual

    Puedes adivinar fácilmente la funcionalidad del método. isEqual. Como piensas el método isEqual se utiliza para comprobar si dos fechas son iguales o no. Vea el código de muestra a continuación.

    const { isEqual } = require("date-fns");
    
    const _1 = new Date();
    const _2 = new Date();
    const _3 = new Date("1900, 03, 22");
    
    console.log(isEqual(_1, _2));
    console.log(isEqual(_2, _3));
    console.log(isEqual(_3, _1));
    

    Conclusión

    Si hablamos de todos los métodos del date-fns paquete, luego tarda días en completarse. La mejor manera de aprender cualquier paquete es familiarizarse con los métodos esenciales y luego leer la documentación para obtener más información. Aplicar el mismo escenario para el date-fns paquete también

    Ha aprendido los métodos esenciales en este tutorial. Busque el uso específico en el documentación o considere tomar cursos en línea como JavaScript, jQuery y JSON.

    Codificación feliz 👨‍💻