El objeto nativo Date en JavaScript representa un momento unico en el tiempo con precision de milisegundos desde el 1 de enero de 1970.
Creación de Instancias de Fecha
const now = new Date(); // Momento actual
const epoch = new Date(1730000000000); // A partir de marca de tiempo en milisegundos
const iso = new Date('2026-10-25T14:30:00Z'); // A partir de cadena con formato ISO 8601
const custom = new Date(2026, 9, 25, 14, 30); // Ano, mes (0 es enero), dia, horas, minutos
Métodos de Lectura (Getters)
| Método | Hora Local | Equivalente UTC |
|---|---|---|
getFullYear() |
Ano completo de 4 digitos | getUTCFullYear() |
getMonth() |
Indice del mes (0 a 11) | getUTCMonth() |
getDate() |
Dia del mes (1 a 31) | getUTCDate() |
getDay() |
Dia de la semana (0 es domingo) | getUTCDay() |
getHours() |
Horas (0 a 23) | getUTCHours() |
getMinutes() |
Minutos (0 a 59) | getUTCMinutes() |
getSeconds() |
Segundos (0 a 59) | getUTCSeconds() |
getMilliseconds() |
Milisegundos (0 a 999) | getUTCMilliseconds() |
getTime() |
Marca de tiempo Unix en milisegundos | (same timestamp) |
Operaciones Aritméticas y Diferencias de Tiempo
// Sumar 7 dias a la fecha
const target = new Date();
target.setDate(target.getDate() + 7);
// Diferencia entre dos fechas en dias
const d1 = new Date('2026-10-01');
const d2 = new Date('2026-10-25');
const diffMs = d2 - d1;
const diffDays = Math.floor(diffMs / (1000 * 60 * 60 * 24)); // => 24
Formateo y Representación
const date = new Date('2026-10-25T14:30:00Z');
date.toISOString(); // "2026-10-25T14:30:00.000Z"
date.toDateString(); // "Sun Oct 25 2026"
date.toTimeString(); // "14:30:00 GMT+0000"
date.toLocaleDateString(); // e.g. "10/25/2026"