Utility FunctionsFormatting

formatDateTime

Función independiente para formatear fechas y horas según las convenciones de la locale

Descripción general

La función independiente formatDateTime formatea 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 clase GT, pero puede usarse de manera independiente.

import { formatDateTime } from 'generaltranslation';

const formatted = formatDateTime(new Date(), {
  locales: 'de-DE',
  dateStyle: 'medium',
  timeStyle: 'short'
});
// Retorna: "26.09.2025, 17:33"

Referencia

Parámetros

NombreTipoDescripción
dateDateObjeto Date que se va a formatear
optionsDateTimeFormatOptions & { locales?: string | string[] }Configuración de formato con locales opcionales

DateTimeFormatOptions

NombreTipoDescripción
locales?string | string[]Locales para el formato (por defecto, la locale del sistema)
dateStyle?'full' | 'long' | 'medium' | 'short'Estilo general del formato de fecha
timeStyle?'full' | 'long' | 'medium' | 'short'Estilo general del formato de 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?stringIdentificador de la zona horaria IANA
hour12?booleanIndica si se utiliza 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' }));
// Salida: "3/14/2024"

// Formato alemán
console.log(formatDateTime(date, { locales: 'de-DE' }));
// Salida: "14.3.2024"

// Múltiples locales de contenido de respaldo predeterminado
console.log(formatDateTime(date, { 
  locales: ['ja-JP', 'en-US'] 
}));
// Salida: "2024/3/14" (formato japonés)

Formatos de fecha y hora

const date = new Date('2024-03-14T14:30:45Z');

// Estilo de fecha completa
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 varios 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:30

Gestión de zonas horarias

const date = new Date('2024-03-14T14:30:45Z');

// Formatear para diferentes 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 verano

Notas

  • El parámetro locales es opcional y, si no se proporciona, usa la configuración regional del sistema por defecto
  • Utiliza el mismo Intl.DateTimeFormat subyacente que el método de la clase GT
  • 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 gestionan correctamente cuando se especifican
  • Las distintas locales tienen formatos de fecha y hora predeterminados diferentes y preferencias de 12 horas frente a 24 horas

Próximos pasos

¿Qué te ha parecido esta guía?

formatDateTime