formatDateTime
Función independiente para formatear fechas y horas según las convenciones del locale
Descripción general
La función independiente formatDateTime da formato a fechas y horas según las convenciones específicas del locale, sin requerir una instancia de GT.
Ofrece la misma funcionalidad que el método de la GT class, pero puede usarse de forma independiente.
import { formatDateTime } from 'generaltranslation';
const formatted = formatDateTime(new Date(), {
locales: 'de-DE',
dateStyle: 'medium',
timeStyle: 'short'
});
// Devuelve: "26.09.2025, 17:33"Referencias
Parámetros
| Name | Type | Description |
|---|---|---|
date | Date | El objeto Date que se va a formatear |
options | DateTimeFormatOptions & { locales?: string | string[] } | Configuración de formato con locales opcionales |
DateTimeFormatOptions
| Nombre | Tipo | Descripción |
|---|---|---|
locales? | string | string[] | Locales para el formateo (por defecto, el locale del sistema) |
dateStyle? | 'full' | 'long' | 'medium' | 'short' | Estilo general de formateo de la fecha |
timeStyle? | 'full' | 'long' | 'medium' | 'short' | Estilo general de formateo de la hora |
weekday? | 'long' | 'short' | 'narrow' | Representación del día de la semana |
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 |
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 |
timeZone? | string | Identificador de zona horaria IANA |
hour12? | boolean | Indica si se usa el formato de 12 horas |
Devuelve
string - La fecha y la hora formateadas según las convenciones del locale.
Ejemplo
Uso básico
import { formatDateTime } from 'generaltranslation';
// Formato básico con locale explícito
console.log(formatDateTime(date, { locales: 'en-US' }));
// Resultado: "3/14/2024"
// Formato en alemán
console.log(formatDateTime(date, { locales: 'de-DE' }));
// Resultado: "14.3.2024"
// Varios fallbacks de locale
console.log(formatDateTime(date, {
locales: ['ja-JP', 'en-US']
}));
// Resultado: "2024/3/14" (formato japonés)Estilos de fecha y hora
const date = new Date('2024-03-14T14:30:45Z');
// Formato de fecha completo
console.log(formatDateTime(date, {
locales: 'en-US',
dateStyle: 'full'
}));
// Resultado: "Thursday, March 14, 2024"
// Fecha larga con hora corta
console.log(formatDateTime(date, {
locales: 'fr-FR',
dateStyle: 'long',
timeStyle: 'short'
}));
// Resultado: "14 mars 2024 à 07:30"
// Formato corto en distintos locales
const locales = ['en-US', 'de-DE', 'ja-JP'];
locales.forEach(locale => {
console.log(`${locale}: ${formatDateTime(date, {
locales: locale,
dateStyle: 'short',
timeStyle: 'short'
})}`);
});
// Resultado:
// en-US: 3/14/24, 7:30 AM
// de-DE: 14.03.24, 07:30
// ja-JP: 2024/03/14 7:30Gestión de zonas horarias
const date = new Date('2024-03-14T14:30:45Z');
// Formato para distintas zonas horarias
const timeZones = [
'America/New_York',
'Europe/London',
'Asia/Tokyo'
];
timeZones.forEach(timeZone => {
const formatted = formatDateTime(date, {
locales: 'en-US',
timeZone,
dateStyle: 'medium',
timeStyle: 'medium'
});
console.log(`${timeZone}: ${formatted}`);
});
// La salida varía según el horario de veranoNotas
- El parámetro
localeses opcional y, si no se proporciona, usa el locale del sistema de forma predeterminada - Utiliza el mismo
Intl.DateTimeFormatsubyacente que el método de la GT class - Los resultados se almacenan en caché internamente para mejorar el rendimiento con combinaciones repetidas de locale/options
- Se admiten todas las options estándar de
Intl.DateTimeFormat - Las zonas horarias se manejan correctamente cuando se especifican
- Los distintos locales tienen formatos de fecha y hora predeterminados diferentes y preferencias de 12 horas frente a 24 horas
Próximos pasos
- Consulta la documentación de
Intl.DateTimeFormatpara ver más options - Consulta
formatNumpara el formateo independiente de números - Consulta
formatMessagepara el formateo independiente de mensajes - Consulta la GT class
formatDateTimepara uso basado en instancias - Consulta
formatRelativeTimepara el formateo de tiempo relativo
¿Qué te parece esta guía?