Deje que la biblioteca de Luxon soporte la carga del manejo de fecha y hora para sus aplicaciones de JavaScript.
Puede usar JavaScript para crear aplicaciones web dinámicas y aplicaciones que se ejecutan en otros entornos, incluido el escritorio. Muchas aplicaciones necesitan manejar fechas y horas, desde programadores y aplicaciones de chat hasta aplicaciones de reserva de eventos.
Luxon ofrece una alternativa superior al JavaScript nativo Fecha objeto, con formas más fáciles de usar y confiables para manejar las operaciones de fecha y hora.
Instalación de Luxon
Puede agregar Luxon a su aplicación de JavaScript de varias maneras, según su método preferido. Los dos métodos más comunes son utilizar npm para instalar la biblioteca o usar un enlace CDN para incluir la biblioteca en su aplicación.
Para instalar Luxon en un proyecto de Node.js, ejecute el siguiente comando npm en su terminal:
npm instalar --guardar luxon
Use la biblioteca en su archivo JavaScript solicitando luxon:
constante { Fecha y hora } = requerir("luxón");
Este código utiliza desestructuración de objetos para importar el Fecha y hora clase de la biblioteca Luxon y crea una nueva variable Fecha y hora haciendo referencia a esa clase.
Esto le permite crear instancias de fechas y horas y realizar operaciones como dar formato a las fechas para su visualización.
Alternativamente, puede incluir Luxon en su aplicación usando un enlace CDN. Para hacer esto, agregue el siguiente marcado a su archivo HTML:
<guionorigen=" https://cdn.jsdelivr.net/npm/[email protected]/build/global/luxon.min.js">guion>
Usando este enfoque, puede ejecutar scripts usando luxon en el cuerpo de su HTML.
Características de Luxon
Luxon proporciona muchas funciones, lo que lo convierte en un paquete valioso para manejar fechas y horas en aplicaciones de JavaScript.
Manipulación integral de fecha y hora
Luxon ofrece varios métodos para crear, manipular y recuperar fechas y horas. Luxon simplifica tareas como sumar o restar duraciones, establecer componentes específicos de fecha/hora y realizar cálculos de tiempo relativo.
Formateo y localización
Las opciones de formato de Luxon le permiten mostrar fechas y horas en muchos formatos. Luxon admite diferentes patrones de formato y le permite establecer fechas y horas de acuerdo con otros idiomas.
Soporte de zona horaria
Con Luxon, puede trabajar eficientemente con fechas y horas en diferentes zonas horarias. Luxon proporciona métodos para establecer y convertir entre zonas horarias.
Diseño inmutable
Luxon sigue un patrón de diseño inmutable, asegurando que Fecha y hora los objetos son inmutables. Este enfoque de diseño proporciona un comportamiento predecible y coherente cuando se trabaja con fechas y horas.
Amplia documentación de la API
La documentación de la API de Luxon es muy detallada, lo que facilita la exploración y comprensión de los métodos, las opciones y la funcionalidad disponibles.
La clase DateTime en Luxon
El Fecha y hora La clase en Luxon representa una fecha y hora en particular. Ofrece métodos de clase e instancia que le permiten realizar varias tareas. Estas tareas incluyen la creación, el análisis, la recuperación, la modificación y el formato de fechas y horas.
Estas son algunas de las diferentes formas de crear una nueva instancia de la clase Date Time en Luxon:
- El FechaHora.local() método:
Este código crea una nueva instancia de DateTime usando el FechaHora.local() método. El método toma siete argumentos que representan los valores de año, mes, día, hora, minuto, segundo y milisegundo de la fecha y la hora que desea crear.constante dt = FechaHora.local(2023, 5, 21, 1, 22, 37, 845);
- El DateTime.fromJSDate() método:
El código crea un nuevo Fecha nativa de JavaScript instancia y lo pasa al DateTime.fromJSDate() método. Ese método devuelve un objeto DateTime que representa la misma fecha y hora.constante ahora = nuevoFecha();
constante dt = DateTime.fromJSDate (ahora); - El DateTime.fromObject() método:
Este bloque de código muestra cómo crear una nueva instancia de DateTime usando el DateTime.fromObject() método. El método toma un objeto con propiedades que representan los valores de año, mes, día, hora, minuto, segundo y milisegundo de la fecha y la hora que desea crear.constante dt = FechaHora.desdeObjeto({
año: 2023,
mes: 1,
día: 1,
hora: 0,
minuto:0,
segundo: 0,
milisegundo: 0
}); - Utilizando el FechaHora.ahora() método:
Este bloque de código muestra cómo crear una nueva instancia de fecha y hora usando el FechaHora.ahora() método. El método devuelve una nueva instancia de DateTime que representa la fecha y la hora actuales en la zona horaria local.constante dt = FechaHora.ahora();
Dar formato a objetos de fecha y hora en cadenas
Luxon simplifica el formateo de Fecha y hora objetos en cadenas que representan fechas y horas específicas. Puede usar Luxon para dar formato a fechas y horas en varios métodos.
ISO 8601
El formato ISO 8601 se usa ampliamente para la representación estandarizada de fecha y hora. Para formatear un Fecha y hora objeto como una cadena ISO 8601, use el aISO() método:
constante ahora = FechaHora.local();
consola.log (ahora.aISO()); // 2023-05-21T15:20:07.936+01:00
Formatos legibles por humanos
Luxon admite formatos legibles por humanos que puede personalizar para los idiomas locales. Puede formatear un Fecha y hora objeto a una cadena legible por humanos con el toLocaleString() método:
constante ahora = FechaHora.local();
consola.log (ahora.toLocaleString()); // 5/21/2023
Formato basado en token
El formato basado en tokens le permite formatear la fecha y la hora en cadenas personalizadas mediante marcadores de posición llamados tokens. Para formatear un Fecha y hora objeto usando tokens, use el formatear() método:
constante ahora = FechaHora.local();
consola.log (ahora.toFormat("aaaa-MM-dd HH: mm: ss")); //2023-05-21 15:16:57
En el ejemplo anterior, la cadena de formato aaaa-MM-dd HH: mm: ss representa el formato de salida deseado. las fichas aaaa, milímetro, dd, S.S, milímetro, y ss corresponden al año, mes, día, hora, minuto y segundo del Fecha y hora objeto, respectivamente.
Luxon le permite realizar una amplia gama de representaciones de fecha y hora al proporcionar un amplio conjunto de tokens.
Análisis y validación de fechas y horas en Luxon
Luxon proporciona métodos robustos para analizar y validar fechas y horas. Estas características son útiles para tareas como validar la entrada del usuario o convertir representaciones de cadenas de fechas y horas en Fecha y hora objetos.
El método fromFormat()
El fromFormat() El método le permite analizar una representación de cadena de una fecha y hora, y la convierte en una Fecha y hora objeto. Toma dos argumentos, la cadena de entrada y una cadena de formato que especifica el formato de entrada.
Por ejemplo:
FechaHora.fromFormat("25 de mayo de 2023", "LLLL dd aaaa")
Validación de fechas y horas con el método isValid
El es válida El método comprueba si un Fecha y hora objeto representa una fecha y hora válidas. Vuelve verdadero si el objeto es válido y FALSO de lo contrario.
Al igual que:
constante invalidDate = DateTime.fromObject({ año: 2022, mes: 2, día: 29 });
consola.log (fecha no válida.es válido); // FALSO
constante fechavalida = FechaHora.fromObject({ año: 2022, mes: 2, día: 28 });
consola.log (fechavalida.esvalida); // verdadero
En el ejemplo, la primera Fecha y hora El objeto representa una fecha no válida porque el 29 de febrero de 2022 no es válido. El segundo Fecha y hora objeto representa una fecha válida del 28 de febrero de 2022.
Las funciones de análisis y validación de Luxon lo ayudan a manejar fechas y horas con precisión, validar entradas y proporcionar representaciones confiables de datos de fecha y hora.
Alternativas a Luxon
Ha aprendido a crear, formatear y validar instancias de fecha y hora con Luxon. Estos consejos lo ayudarán a crear aplicaciones web que requieren manejo de fecha y hora.
También puede utilizar otros paquetes de JavaScript para lograr el manejo de la fecha y la hora en sus aplicaciones web, incluidos Day.js y Date.fns. Estos paquetes tienen sus ventajas y desventajas, y debe basar su preferencia en sus necesidades específicas.