El tipo date (fecha)
En JavaScript, las fechas se manejan utilizando el objeto Date. Este objeto permite crear, manipular, y formatear fechas y horas de una manera sencilla.
1. Crear un Objeto Date #
Para trabajar con fechas, primero debes crear una instancia del objeto Date. Hay varias maneras de hacerlo:
-
Fecha y hora actual:
- Si creas un
Datesin argumentos, obtendrás la fecha y hora actuales. - Ejemplo:
1let ahora = new Date(); 2console.log(ahora); // Muestra la fecha y hora actuales
- Si creas un
-
Fecha específica:
-
Puedes crear un
Datepasando una cadena de texto que describa una fecha, o especificando año, mes, día, etc. -
Ejemplo con cadena de texto:
1let navidad = new Date("2024-12-25T00:00:00.000Z"); 2console.log(navidad); // Muestra "2024-12-25T00:00:00.000Z"Salida de consola 2024-12-25T00:00:00.000Z
-
Ejemplo con argumentos separados:
1let fecha = new Date(2024, 11, 25); // Año, mes (0-11), día 2console.log(fecha); // Muestra "2024-12-25T00:00:00.000Z"Salida de consola 2024-12-25T00:00:00.000Z
-
Nota: Los meses en JavaScript van de 0 (enero) a 11 (diciembre), por lo que
11representa diciembre.
-
-
Fecha y hora específica:
- Puedes especificar también la hora, minutos, segundos y milisegundos.
- Ejemplo:
1let fechaYHora = new Date(2024, 11, 25, 10, 30, 0); // Año, mes, día, hora, minutos, segundos 2console.log(fechaYHora); // Muestra "2024-12-25T10:30:00.000Z"Salida de consola 2024-12-25T10:30:00.000Z
Métodos para Trabajar con Fechas #
El objeto Date incluye muchos métodos útiles para obtener y modificar partes de la fecha y hora:
-
Obtener partes de la fecha:
getFullYear(): Devuelve el año.1let año = ahora.getFullYear(); 2console.log(año); // Muestra el año actualgetMonth(): Devuelve el mes (0-11).1let mes = ahora.getMonth(); 2console.log(mes); // Muestra el mes actual (0-11)getDate(): Devuelve el día del mes (1-31).1let dia = ahora.getDate(); 2console.log(dia); // Muestra el día actualgetDay(): Devuelve el día de la semana (0-6, donde 0 es domingo).1let diaSemana = ahora.getDay(); 2console.log(diaSemana); // Muestra el día de la semana (0-6)getHours(),getMinutes(),getSeconds(): Devuelven la hora, minutos y segundos, respectivamente.1let horas = ahora.getHours(); 2let minutos = ahora.getMinutes(); 3console.log(horas + ":" + minutos); // Muestra la hora actual en formato "HH:MM"
-
Modificar partes de la fecha:
setFullYear(año): Cambia el año.1let ahora = new Date(); 2ahora.setFullYear(2025); // Cambia el año a 2025 3console.log(ahora.getFullYear());Salida de consola 2025
setMonth(mes),setDate(día),setHours(hora), etc.: Permiten cambiar el mes, día, hora, etc.1let ahora = new Date(); 2ahora.setMonth(0); // Cambia el mes a Enero (0) 3console.log(ahora.getMonth());Salida de consola 0
-
Obtener la fecha en formatos específicos:
toDateString(): Devuelve solo la parte de la fecha como una cadena legible.1console.log(ahora.toDateString()); // Ejemplo: "Thu Dec 25 2024"toTimeString(): Devuelve solo la parte de la hora.1console.log(ahora.toTimeString()); // Ejemplo: "10:30:00 GMT-0500 (hora estándar)"toISOString(): Devuelve la fecha en formato ISO 8601.1console.log(ahora.toISOString()); // Ejemplo: "2024-12-25T10:30:00.000Z"
Comparación de Fechas #
Puedes comparar fechas usando los operadores habituales (<, >, <=, >=, ==, ===).
Ejemplo de comparación:
1let fecha1 = new Date(2024, 11, 25); 2let fecha2 = new Date(2025, 11, 25); 3 4if (fecha1 < fecha2) { 5 console.log("fecha1 es anterior a fecha2"); 6}Salida de consola fecha1 es anterior a fecha2
Resumen del tema
Conceptos clave #
- Objeto
Date: almacena fechas y horas como el número de milisegundos transcurridos desde la época Unix (1 de enero de 1970 UTC). - Indexación Base Cero para Meses: los meses se numeran del
0(enero) al11(diciembre). - Métodos Getters y Setters:
- Lectura:
getFullYear(),getMonth(),getDate()(día del mes),getDay()(día de semana 0-6),getHours(),getMinutes(),getTime(). - Escritura:
setFullYear(),setMonth(),setDate(), etc.
- Lectura:
- Formateo y Comparación:
.toISOString(),.toDateString(),.toTimeString()y comparación matemática directa de timestamps con<,>,<=,>=.
Qué debes recordar #
Ten siempre presente que en el objeto Date de JavaScript los meses comienzan en índice 0 (0 = Enero, 11 = Diciembre).