- Entendiendo el Objeto Date en JavaScript
- Creación de Instancias de Date
- Manejo de Zonas Horarias
- Formateo y Localización de Fechas
- Cálculos con Fechas
- Uso de Librerías de Terceros
- Recursos
Entendiendo el Objeto Date en JavaScript
El objeto Date en JavaScript es una representación de una fecha y hora. Este objeto permite manejar y manipular fechas y horas de una manera eficiente. Los métodos de Date permiten, entre otras cosas, obtener o establecer fechas y horas, realizar cálculos con fechas y formatear fechas a cadenas legibles.
Creación de Instancias de Date
Para crear una instancia de Date, se pueden usar varios métodos:
- Sin parámetros: `let now = new Date();` crea una instancia con la fecha y hora actuales.
- Con una fecha específica: `let date = new Date('2023-10-12');`.
- Con valores de año, mes, etc.: `let date = new Date(2023, 9, 12);` (año, mes, día, hora, minuto, segundo, milisegundo).
Manejo de Zonas Horarias
JavaScript utiliza la zona horaria del entorno en el que se ejecuta. Los métodos de Date tienen versiones específicas para UTC (Tiempo Universal Coordinado).
- Obtener la hora local: `date.getHours()`.
- Obtener la hora UTC: `date.getUTCHours()`.
Formateo y Localización de Fechas
Formatear una fecha para la localización es esencial. La API de Internacionalización (Intl) facilita esto.
let date = new Date();
let formattedDate = new Intl.DateTimeFormat('es-ES', { dateStyle: 'full', timeStyle: 'long' }).format(date);
console.log(formattedDate);
Cálculos con Fechas
Para realizar cálculos con fechas (como sumar días o restar meses), se pueden usar métodos como `setDate`, `setMonth`, y `setFullYear` junto con los métodos getters.
let futureDate = new Date();
futureDate.setDate(futureDate.getDate() + 5); // Suma 5 días
console.log(futureDate);
Uso de Librerías de Terceros
Existen varias librerías que simplifican el uso y manejo de fechas en JavaScript. Algunas de las más populares son moment.js, date-fns y Luxon.
- moment.js: Muy completo y fácil de usar.
- date-fns: Modular y liviano.
- Luxon: Creado por un colaborador de moment.js, con soporte para zonas horarias.