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+0200
Puedes 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ía
Formateo 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.”