Manejo de fechas
Fechas en JavaScript
El manejo de fechas en JavaScript se basa en el objeto global Date, que proviene de Java.
Uso del objeto Date
JavaScript incluye el objeto Date, inspirado en el de Java, para crear, manipular y formatear fechas.
const now = new Date()console.log(now) // Ejemplo: Sat Apr 13 2024 12:34:56 GMT+0200Puedes construir fechas de varias formas:
new Date() // Fecha actualnew Date('2024-04-13') // Desde string ISOnew Date(2024, 3, 13) // Año, mes (0-indexado), díaFormateo de fechas con traducciones
Una forma moderna y nativa de formatear fechas localizadas es con Intl.DateTimeFormat.
const format = (date, locale, options) => new Intl.DateTimeFormat(locale, options).format(date)
const now = new Date()
format(now, 'es') // → dd/mm/yyyyformat(now, 'en') // → mm/dd/yyyy
format(now, 'es', { dateStyle: 'long' }) // → '13 de abril de 2024'format(now, 'en', { weekday: 'short', day: 'numeric' }) // → 'Thu, 13'📌 Nota: Intl.DateTimeFormat permite una amplia personalización usando opciones como dateStyle, timeStyle, weekday, month, entre otras.
Temporal
Temporal es una nueva API propuesta para reemplazar al objeto Date, ofreciendo una forma más precisa, intuitiva y robusta de trabajar con fechas y zonas horarias.
// Ejemplo básico (cuando esté disponible)const today = Temporal.Now.instant()const instant = Temporal.Instant.from('1969-07-20T20:17Z')instant.ToString() // => 1969-07-20T20:17Z
instant.add({ days: 1, seconds: 1 }).toString()
const date = Temporal.PlainDate.from({ year: 2006, month: 8, day: 24 })date.toString() // => '2006-08-24'Librerías recomendadas
TEMPO “The easiest way to work with dates in JavaScript.”