# General Translation Platform: formatDateTime URL: https://generaltranslation.com/es/docs/platform/core/reference/gt-class-methods/formatting/format-date-time.mdx --- title: formatDateTime description: Da formato a fechas y horas según la configuración regional. Referencia de la API para formatDateTime. --- Da formato a una fecha y una hora según las convenciones propias de la configuración regional en una instancia de [GT](/docs/platform/core/reference/gt-class/constructor). General Translation usa la API integrada `Intl.DateTimeFormat` para gestionar automáticamente los formatos de fecha y hora, los calendarios y las zonas horarias de la configuración regional de destino. ## Descripción general [#overview] Llama a `formatDateTime` en una instancia de [`GT`](/docs/platform/core/reference/gt-class/constructor) con un `Date` y, opcionalmente, un objeto de opciones. Devuelve la fecha y la hora formateadas como una cadena. ```typescript const gt = new GT({ targetLocale: 'de-DE' }); const formatted = gt.formatDateTime(new Date(), { dateStyle: 'medium', timeStyle: 'short', }); // "25.09.2025, 18:06" (formato de fecha/hora en alemán) ``` Firma: ```typescript formatDateTime( date: Date, options?: { locales?: string | string[] } & Intl.DateTimeFormatOptions ): string ``` *Nota: `formatDateTime` se ejecuta de forma local con `Intl.DateTimeFormat` y no requiere una clave API. De forma predeterminada, usa las configuraciones regionales de renderización de la instancia; pasa `locales` para anularlas. Para dar formato sin una instancia de `GT`, consulta la versión independiente de [`formatDateTime`](/docs/platform/core/reference/utility-functions/formatting/format-date-time).* ## Cómo funciona [#how-it-works] * **Resolución de locales.** De forma predeterminada, el método aplica el formato usando los locales de la instancia. Pasa `locales` en las opciones para anularlos en una sola llamada. * **Basado en Intl.** El formato se delega en [`Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat), nativo del navegador, por lo que se admiten todas las `Intl.DateTimeFormatOptions` estándar. * **Zonas horarias.** Las zonas horarias se gestionan correctamente cuando se especifica una `timeZone`; de lo contrario, se usa la zona horaria local del runtime. ## Parámetros [#parameters] | Parámetro | Descripción | Tipo | Opcional | Predeterminado | | --------------------- | ---------------------------------------------------------------------------------------------------- | -------- | -------- | -------------- | | [`date`](#date) | El objeto `Date` que se va a formatear. | `Date` | No | — | | [`options`](#options) | Configuración de formato que amplía `Intl.DateTimeFormatOptions` con una sobrescritura de `locales`. | `object` | Sí | — | ### `date` [#date] **Type** `Date` · **Obligatorio** El objeto `Date` que se debe formatear. ### `options` [#options] **Tipo** `{ locales?: string | string[] } & Intl.DateTimeFormatOptions` · **Opcional** Configuración de formato. Amplía `Intl.DateTimeFormatOptions` con un campo `locales` adicional: | Nombre | Descripción | Tipo | Opcional | Predeterminado | | ------------------------ | ---------------------------------------------------- | --------------------------------------------------------------------------------------- | -------- | ------------------------ | | `locales` | Sobrescribe los locales usados para el formato. | `string \| string[]` | Sí | locales de la instancia | | `localeMatcher` | Algoritmo de coincidencia de configuración regional. | `'lookup' \| 'best fit'` | Sí | `'best fit'` | | `dateStyle` | Estilo general de formato de fecha. | `'full' \| 'long' \| 'medium' \| 'short'` | Sí | — | | `timeStyle` | Estilo general de formato de formato de hora. | `'full' \| 'long' \| 'medium' \| 'short'` | Sí | — | | `weekday` | Representación del día de la semana. | `'long' \| 'short' \| 'narrow'` | Sí | — | | `era` | Representación de la era. | `'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í | — | | `dayPeriod` | Formato del período del día (mañana, tarde, etc.). | `'narrow' \| 'short' \| 'long'` | 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í | — | | `fractionalSecondDigits` | Número de dígitos fraccionarios de los segundos. | `1 \| 2 \| 3` | Sí | — | | `timeZoneName` | Formato del nombre de la zona horaria. | `'long' \| 'short' \| 'longOffset' \| 'shortOffset' \| 'longGeneric' \| 'shortGeneric'` | Sí | — | | `timeZone` | Identificador de zona horaria de IANA. | `string` | Sí | zona horaria del runtime | | `hour12` | Indica si se debe usar el formato de 12 horas. | `boolean` | Sí | — | | `hourCycle` | Preferencia de ciclo horario. | `'h11' \| 'h12' \| 'h23' \| 'h24'` | Sí | — | | `calendar` | Sistema de calendario que se usará. | `string` | Sí | `'gregory'` | | `numberingSystem` | Sistema de numeración para los dígitos. | `string` | Sí | `'latn'` | | `formatMatcher` | Algoritmo de coincidencia de formato. | `'basic' \| 'best fit'` | Sí | `'best fit'` | ## Devuelve [#returns] **Tipo** `string` La fecha y hora formateadas, según las convenciones de la configuración regional de destino. ## Ejemplos [#examples] *Nota: los ejemplos sin un `timeZone` explícito se muestran en la zona horaria local del runtime; las salidas de la hora del día que aparecen a continuación asumen `America/Los_Angeles` (UTC−7 en esta fecha).* ```typescript 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 las opciones predeterminadas) console.log(gt.formatDateTime(date)); // Output: "3/14/2024" // Formato con configuración regional alemana console.log(gt.formatDateTime(date, { locales: 'de-DE' })); // Output: "14.3.2024" // Formato con configuración regional japonesa console.log(gt.formatDateTime(date, { locales: 'ja-JP' })); // Output: "2024/3/14" ``` ```typescript // Estilos de fecha y hora const date = new Date('2024-03-14T14:30:45Z'); // Estilo de fecha completa console.log(gt.formatDateTime(date, { dateStyle: 'full' })); // Output: "Thursday, March 14, 2024" // Fecha larga con hora corta console.log(gt.formatDateTime(date, { dateStyle: 'long', timeStyle: 'short', })); // Output: "March 14, 2024 at 7:30 AM" // Componentes de fecha personalizados console.log(gt.formatDateTime(date, { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric', })); // Output: "Thursday, March 14, 2024" ``` ```typescript // 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, })); // Salida: "7:30 AM" // Forzar formato de 24 horas console.log(gt.formatDateTime(date, { hour: 'numeric', minute: '2-digit', hour12: false, })); // Salida: "07:30" // Zona horaria específica console.log(gt.formatDateTime(date, { timeZone: 'America/New_York', dateStyle: 'medium', timeStyle: 'short', })); // Salida: "Mar 14, 2024, 10:30 AM" ``` ## Notas [#notes] * El formato de fecha sigue automáticamente las convenciones de la configuración regional. * El método usa `Intl.DateTimeFormat`, nativo del navegador, para ofrecer rendimiento y precisión. * Las zonas horarias se manejan correctamente cuando se especifican.