# General Translation Platform: formatDateTime
URL: https://generaltranslation.com/es/docs/platform/core/reference/gt-class-methods/formatting/format-date-time.mdx
Docs index: https://generaltranslation.com/llms.txt
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 la configuración regional de destino de la instancia y, si no está disponible, recurre a la configuración regional de origen y a `en`; pasa `locales` para reemplazarlas. 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 para la configuración regional de destino de la instancia; si no está disponible, recurre a la configuración regional de origen y luego a `en`. Pasa `locales` en las opciones para reemplazarla 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. La tabla enumera las opciones comunes expuestas por los tipos Core publicados y sus valores predeterminados efectivos de Core. (Consulta las [opciones del constructor `Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat#options) para obtener detalles estándar complementarios y específicos del runtime).

| Nombre                   | Descripción                                                                      | Tipo                                                                                    | Opcional | Predeterminado                                             |
| ------------------------ | -------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------- |
| `locales`                | Reemplaza los locales usados para el formato.                                    | `string \| string[]`                                                                    | Sí       | `targetLocale` → `sourceLocale` → `en`                     |
| `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í       | `'numeric'` cuando no se establecen estilos ni componentes |
| `month`                  | Representación del mes.                                                          | `'numeric' \| '2-digit' \| 'long' \| 'short' \| 'narrow'`                               | Sí       | `'numeric'` cuando no se establecen estilos ni componentes |
| `day`                    | Representación del día.                                                          | `'numeric' \| '2-digit'`                                                                | Sí       | `'numeric'` cuando no se establecen estilos ni componentes |
| `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`               | Nombre de zona horaria de IANA o identificador de desplazamiento UTC compatible. | `string`                                                                                | Sí       | zona horaria del runtime                                   |
| `hour12`                 | Indica si se debe usar el formato de 12 horas.                                   | `boolean`                                                                               | Sí       | dependiente de la configuración regional                   |
| `hourCycle`              | Preferencia de ciclo horario.                                                    | `'h11' \| 'h12' \| 'h23' \| 'h24'`                                                      | Sí       | dependiente de la configuración regional                   |
| `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'`                                               |

`dateStyle` y `timeStyle` pueden combinarse entre sí, pero no con opciones de componentes individuales de fecha y hora, como `year`, `month` u `hour`. `hour12` reemplaza a `hourCycle`, y `dayPeriod` solo afecta a los ciclos de 12 horas. Core establece `calendar: 'gregory'` y `numberingSystem: 'latn'`; de lo contrario, el `Intl.DateTimeFormat` subyacente elige ambos según la configuración regional.

## 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.

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
