formatDateTime
Referencia de API del método formatDateTime para formatear fechas y horas según las convenciones de la locale
Descripción general
El método formatDateTime da formato a fechas y horas según las convenciones de la locale utilizando la Internationalization API.
Gestiona automáticamente los formatos de fecha y hora, los calendarios y las zonas horarias en función de la 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 y hora en alemán)Referencia
Parámetros
| Nombre | Tipo | Descripción | 
|---|---|---|
| date | Date | Objeto Date a formatear | 
| options? | DateTimeFormatOptions | Configuración de formato opcional | 
DateTimeFormatOptions
Amplía Intl.DateTimeFormatOptions con una especificación de locale adicional:
| Name | Type | Description | 
|---|---|---|
| locales? | string | string[] | Sobrescribe las locales para el formateo (por defecto, las locales de la instancia) | 
| localeMatcher? | 'lookup' | 'best fit' | Algoritmo de emparejamiento de locale (predeterminado: 'best fit') | 
| dateStyle? | 'full' | 'long' | 'medium' | 'short' | Estilo general de formato de fecha | 
| timeStyle? | 'full' | 'long' | 'medium' | 'short' | Estilo general de formato 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 periodo 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 los segundos fraccionarios | 
| timeZoneName? | 'long' | 'short' | 'longOffset' | 'shortOffset' | 'longGeneric' | 'shortGeneric' | Formato del nombre de la zona horaria | 
| timeZone? | string | Identificador de zona horaria 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 emparejamiento de formato (predeterminado: 'best fit') | 
Devuelve
string - La fecha y la hora con formato según las convenciones del locale.
Ejemplos
Formatos básicos 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 básico de fecha (usa las options predeterminadas)
console.log(gt.formatDateTime(date));
// Resultado: "3/14/2024"
// Formato para la configuración regional alemana
console.log(gt.formatDateTime(date, { locales: 'de-DE' }));
// Resultado: "14.3.2024"
// Formato para la configuración regional japonesa
console.log(gt.formatDateTime(date, { locales: 'ja-JP' }));
// Resultado: "2024/3/14"Estilos de fecha y hora
const date = new Date('2024-03-14T14:30:45Z');
// Formato de fecha completo
console.log(gt.formatDateTime(date, { dateStyle: 'full' }));
// Resultado: "jueves, 14 de marzo de 2024"
// Fecha larga con hora corta
console.log(gt.formatDateTime(date, {
  dateStyle: 'long',
  timeStyle: 'short'
}));
// Resultado: "14 de marzo de 2024 a las 7:30 a. m."
// Componentes de fecha personalizados
console.log(gt.formatDateTime(date, {
  weekday: 'long',
  year: 'numeric',
  month: 'long',
  day: 'numeric'
}));
// Resultado: "jueves, 14 de marzo de 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 a. m."
// 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: "14 mar 2024, 10:30 a. m."Notas
- El formateo de fechas sigue automáticamente las convenciones específicas de la locale
- El método usa la API nativa del navegador Intl.DateTimeFormatpara un rendimiento y una precisión óptimos
- Las zonas horarias se gestionan correctamente cuando se especifican
Métodos relacionados
- Consulta la documentación de Intl.DateTimeFormatpara más opciones
- Consulta formatRelativeTimepara el formato relativo de fechas ("hace 2 días")
- Consulta formatMessagepara el formateo de mensajes con interpolación de fechas
- Consulta la función independiente formatDateTimepara usar sin una instancia de GT
- Consulta getLocalePropertiespara obtener información del calendario específica del locale
Próximos pasos
- Consulta la Guía de formato para estrategias completas de formato de fechas y horas
- Consulta la Guía de internacionalización para el manejo de fechas con reconocimiento de locale
¿Qué te ha parecido esta guía?

