# General Translation Platform: formatDateTime URL: https://generaltranslation.com/es/docs/platform/core/reference/utility-functions/formatting/format-date-time.mdx --- title: formatDateTime description: Formatea fechas y horas sin una instancia de GT. Referencia de la API de formatDateTime. --- [`formatDateTime`](/docs/platform/core/reference/gt-class-methods/formatting/format-date-time) es una función de utilidad independiente de la biblioteca Core de General Translation que formatea fechas y horas según las convenciones propias de cada configuración regional. Devuelve una cadena adaptada a la configuración regional para un `Date`. ## Descripción general [#overview] Importa `formatDateTime` directamente desde `generaltranslation` y llámalo con un `Date` y un objeto de opciones. No requiere una clave de API ni una instancia de [GT](/docs/platform/core/reference/gt-class/constructor). Si quieres un formato basado en instancias que herede la configuración regional de la instancia, usa en su lugar el método [`formatDateTime`](/docs/platform/core/reference/gt-class-methods/formatting/format-date-time) de una instancia de [`GT`](/docs/platform/core/reference/gt-class/constructor). ```typescript import { formatDateTime } from 'generaltranslation'; const formatted = formatDateTime(new Date(), { locales: 'de-DE', dateStyle: 'medium', timeStyle: 'short', }); // Devuelve una cadena con formato de configuración regional, p. ej. "26.09.2025, 17:33" ``` Firma: ```typescript formatDateTime( date: Date, options?: { locales?: string | string[] } & Intl.DateTimeFormatOptions ): string ``` ## Cómo funciona [#how-it-works] * **API subyacente.** Usa el mismo [`Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat) que el método de la clase GT, por lo que admite todas las opciones estándar de `Intl.DateTimeFormat`. * **Resolución de configuraciones regionales.** Cuando `locales` es una lista, las configuraciones regionales se prueban en ese orden. Cuando se omite `locales`, se recurre a la configuración regional predeterminada de la biblioteca, `en`. * **Zonas horarias.** El resultado respeta la opción `timeZone` cuando se proporciona; de lo contrario, se usa la zona horaria local del runtime. Las distintas configuraciones regionales tienen formatos predeterminados de fecha y hora diferentes, así como preferencias de 12 o 24 horas. * **Caché.** Los resultados se almacenan internamente en caché para mejorar el rendimiento en combinaciones repetidas de configuración regional y opciones. ## Parámetros [#parameters] | Parámetro | Descripción | Tipo | Opcional | Predeterminado | | --------------------- | -------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | -------- | -------------- | | [`date`](#date) | El objeto de fecha que se va a formatear. | `Date` | No | — | | [`options`](#options) | Configuración de formato, incluidas las configuraciones regionales de destino y cualquier opción de `Intl.DateTimeFormat`. | `{ locales?: string \| string[] } & Intl.DateTimeFormatOptions` | Sí | `{}` | ### `date` [#date] **Tipo** `Date` · **Obligatorio** Objeto `Date` que se va a formatear. ### `options` [#options] **Tipo** `{ locales?: string | string[] } & Intl.DateTimeFormatOptions` · **Opcional** · **Predeterminado** `{}` Configuración de formato. Además de `locales`, se acepta cualquier opción de [`Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat). Campos comunes: | Propiedad | Descripción | Tipo | Opcional | Predeterminado | | ----------- | ---------------------------------------------------------------------------------- | --------------------------------------------------------- | -------- | -------------- | | `locales` | Configuración regional para el formato. Si se pasa una lista, se prueban en orden. | `string \| string[]` | Sí | `en` | | `dateStyle` | Estilo general del formato de fecha. | `'full' \| 'long' \| 'medium' \| 'short'` | Sí | — | | `timeStyle` | Estilo general del formato de hora. | `'full' \| 'long' \| 'medium' \| 'short'` | Sí | — | | `weekday` | Representación del día de la semana. | `'long' \| 'short' \| 'narrow'` | Sí | — | | `year` | Representación del año. | `'numeric' \| '2-digit'` | Sí | — | | `month` | Representación del mes. | `'numeric' \| '2-digit' \| 'long' \| 'short' \| 'narrow'` | Sí | — | | `day` | Representación del día. | `'numeric' \| '2-digit'` | Sí | — | | `hour` | Representación de la hora. | `'numeric' \| '2-digit'` | Sí | — | | `minute` | Representación del minuto. | `'numeric' \| '2-digit'` | Sí | — | | `second` | Representación del segundo. | `'numeric' \| '2-digit'` | Sí | — | | `timeZone` | Identificador de zona horaria de IANA. | `string` | Sí | — | | `hour12` | Indica si se usa el formato de 12 horas. | `boolean` | Sí | — | ## Devuelve [#returns] **Tipo** `string` La fecha y la hora con el formato de la configuración regional. ## Ejemplos [#examples] ```typescript import { formatDateTime } from 'generaltranslation'; const date = new Date('2024-03-14T14:30:45Z'); // Formato básico con una configuración regional explícita console.log(formatDateTime(date, { locales: 'en-US', timeZone: 'UTC' })); // Salida: "3/14/2024" // Formato alemán console.log(formatDateTime(date, { locales: 'de-DE', timeZone: 'UTC' })); // Salida: "14.3.2024" // Múltiples configuraciones regionales alternativas console.log(formatDateTime(date, { locales: ['ja-JP', 'en-US'], timeZone: 'UTC' })); // Salida: "2024/3/14" (formato japonés) ``` ```typescript // Estilos 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', timeZone: 'UTC', })); // Salida: "Thursday, March 14, 2024" // Fecha larga con hora corta console.log(formatDateTime(date, { locales: 'fr-FR', dateStyle: 'long', timeStyle: 'short', timeZone: 'UTC', })); // Salida: "14 mars 2024 à 14:30" ``` ```typescript // Manejo de zonas horarias const date = new Date('2024-03-14T14:30:45Z'); 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 [#notes] * Usa el mismo `Intl.DateTimeFormat` subyacente que el método de la clase GT. * Los resultados se almacenan internamente en caché para mejorar el rendimiento cuando se repiten las combinaciones de configuración regional y opciones. * Se admiten todas las opciones estándar de `Intl.DateTimeFormat`. * Las zonas horarias se gestionan correctamente cuando se especifican. La salida sin un `timeZone` fijo depende del entorno de ejecución.