formatDateTime
Referencia de API del método formatDateTime para formatear fechas y horas según las convenciones del locale
Descripción general
El método formatDateTime formatea fechas y horas según las convenciones específicas del locale mediante la API de internacionalización.
Gestiona automáticamente los formatos de fecha y hora, los calendarios y las zonas horarias según el locale de destino.
const gt = new GT({ targetLocale: 'de-DE' });
const formatted = gt.formatDateTime(new Date(), {
dateStyle: 'medium',
timeStyle: 'short'
});
// Devuelve: "25.09.2025, 18:06" (formato de fecha/hora alemán)Referencias
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
date | Date | Objeto Date a formatear |
options? | DateTimeFormatOptions | Configuración opcional de formato |
DateTimeFormatOptions
Amplía Intl.DateTimeFormatOptions con una especificación adicional de locale:
| Nombre | Tipo | Descripción |
|---|---|---|
locales? | string | string[] | Reemplaza los locales para el formateo (por defecto, los locales de la instancia) |
localeMatcher? | 'lookup' | 'best fit' | Algoritmo de coincidencia de locale (predeterminado: 'best fit') |
dateStyle? | 'full' | 'long' | 'medium' | 'short' | Estilo general de formateo de fecha |
timeStyle? | 'full' | 'long' | 'medium' | 'short' | Estilo general de formateo de hora |
weekday? | 'long' | 'short' | 'narrow' | Representación del día de la semana |
era? | 'long' | 'short' | 'narrow' | Representación de la era |
year? | 'numeric' | '2-digit' | Representación del año |
month? | 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' | Representación del mes |
day? | 'numeric' | '2-digit' | Representación del día |
dayPeriod? | 'narrow' | 'short' | 'long' | Formato del período del día (mañana, tarde, etc.) |
hour? | 'numeric' | '2-digit' | Representación de la hora |
minute? | 'numeric' | '2-digit' | Representación del minuto |
second? | 'numeric' | '2-digit' | Representación del segundo |
fractionalSecondDigits? | 1 | 2 | 3 | Número de dígitos de la fracción de segundo |
timeZoneName? | 'long' | 'short' | 'longOffset' | 'shortOffset' | 'longGeneric' | 'shortGeneric' | Formato del nombre de la zona horaria |
timeZone? | string | Identificador de zona horaria de la IANA |
hour12? | boolean | Indica si se usa el formato de 12 horas |
hourCycle? | 'h11' | 'h12' | 'h23' | 'h24' | Preferencia de ciclo horario |
calendar? | string | Sistema de calendario a utilizar |
numberingSystem? | string | Sistema de numeración para los dígitos |
formatMatcher? | 'basic' | 'best fit' | Algoritmo de coincidencia de formato (predeterminado: 'best fit') |
Devuelve
string - La fecha y la hora con formato según las convenciones del locale.
Ejemplos
Formato básico de fecha y hora
import { GT } from 'generaltranslation';
const gt = new GT({ targetLocale: 'en-US' });
const date = new Date('2024-03-14T14:30:45Z');
// Formato de fecha básico (usa options predeterminadas)
console.log(gt.formatDateTime(date));
// Salida: "3/14/2024"
// Formato de locale alemán
console.log(gt.formatDateTime(date, { locales: 'de-DE' }));
// Salida: "14.3.2024"
// Formato de locale japonés
console.log(gt.formatDateTime(date, { locales: 'ja-JP' }));
// Salida: "2024/3/14"Formatos de fecha y hora
const date = new Date('2024-03-14T14:30:45Z');
// Estilo de fecha completa
console.log(gt.formatDateTime(date, { dateStyle: 'full' }));
// Resultado: "Thursday, March 14, 2024"
// Fecha larga con hora corta
console.log(gt.formatDateTime(date, {
dateStyle: 'long',
timeStyle: 'short'
}));
// Resultado: "March 14, 2024 at 7:30 AM"
// Componentes de fecha personalizados
console.log(gt.formatDateTime(date, {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric'
}));
// Resultado: "Thursday, March 14, 2024"Zona horaria y formato de hora
const date = new Date('2024-03-14T14:30:45Z');
// Forzar formato de 12 horas
console.log(gt.formatDateTime(date, {
hour: 'numeric',
minute: '2-digit',
hour12: true
}));
// Resultado: "7:30 AM"
// Forzar formato de 24 horas
console.log(gt.formatDateTime(date, {
hour: 'numeric',
minute: '2-digit',
hour12: false
}));
// Resultado: "07:30"
// Zona horaria específica
console.log(gt.formatDateTime(date, {
timeZone: 'America/New_York',
dateStyle: 'medium',
timeStyle: 'short'
}));
// Resultado: "Mar 14, 2024, 10:30 AM"Notas
- El formato de fecha sigue automáticamente las convenciones específicas del locale
- El método usa la API nativa del navegador
Intl.DateTimeFormatpara lograr el mejor rendimiento y precisión - Las zonas horarias se gestionan correctamente cuando se especifican
Métodos relacionados
- Consulta la documentación de
Intl.DateTimeFormatpara más options - Consulta
formatRelativeTimepara el formateo relativo de fechas ("hace 2 días") - Consulta
formatMessagepara el formateo de mensajes con interpolación de fechas - Consulta
formatDateTimepara usar sin una instancia de GT - Consulta
getLocalePropertiespara información de calendario específica del locale
Próximos pasos
- Consulta la Guía de formato para estrategias completas de formato de fecha y hora
- Consulta la Guía de internacionalización para el manejo de fechas con reconocimiento de locale
¿Qué te parece esta guía?