# General Translation Platform: formatDateTime
URL: https://generaltranslation.com/ru/docs/platform/core/reference/gt-class-methods/formatting/format-date-time.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Форматирование даты и времени в зависимости от локали. Справочник по API для formatDateTime.

Форматирует дату и время в соответствии с принятыми для локали правилами в экземпляре [GT](/docs/platform/core/reference/gt-class/constructor). General Translation использует встроенный API `Intl.DateTimeFormat`, чтобы автоматически обрабатывать форматы даты и времени, календари и часовые пояса для целевой локали.

## Обзор [#overview]

Вызовите `formatDateTime` для экземпляра [`GT`](/docs/platform/core/reference/gt-class/constructor), передав `Date` и при необходимости объект параметров. Метод возвращает дату и время, отформатированные в виде строки.

```typescript
const gt = new GT({ targetLocale: 'de-DE' });

const formatted = gt.formatDateTime(new Date(), {
  dateStyle: 'medium',
  timeStyle: 'short',
});
// "25.09.2025, 18:06" (форматирование даты и времени на немецком)
```

Сигнатура:

```typescript
formatDateTime(
  date: Date,
  options?: { locales?: string | string[] } & Intl.DateTimeFormatOptions
): string
```

*Примечание: `formatDateTime` работает локально через `Intl.DateTimeFormat` и не требует API Key. По умолчанию используется целевая локаль экземпляра, затем — исходная локаль и `en`; чтобы переопределить её, передайте `locales`. О форматировании без экземпляра `GT` см. отдельную функцию [`formatDateTime`](/docs/platform/core/reference/utility-functions/formatting/format-date-time).*

## Как это работает [#how-it-works]

* **Определение локали.** По умолчанию метод форматирует значения в соответствии с целевой локалью экземпляра, используя в качестве запасного варианта исходную локаль, а затем `en`. Чтобы переопределить их для одного вызова, передайте `locales` в параметрах.
* **На основе Intl.** Форматирование выполняется с помощью встроенного в браузер [`Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat), поэтому поддерживаются все стандартные `Intl.DateTimeFormatOptions`.
* **Часовые пояса.** Если указан `timeZone`, часовые пояса обрабатываются корректно; в противном случае используется локальный часовой пояс среды выполнения.

## Параметры [#parameters]

| Параметр              | Описание                                                                                                   | Тип      | Необязательный | По умолчанию |
| --------------------- | ---------------------------------------------------------------------------------------------------------- | -------- | -------------- | ------------ |
| [`date`](#date)       | Объект даты, который нужно отформатировать.                                                                | `Date`   | Нет            | —            |
| [`options`](#options) | Параметры форматирования, расширяющие `Intl.DateTimeFormatOptions` и позволяющие переопределить `locales`. | `object` | Да             | —            |

### `date` [#date]

**Тип** `Date` · **Обязательно**

Объект `Date`, который нужно отформатировать.

### `options` [#options]

**Тип** `{ locales?: string | string[] } & Intl.DateTimeFormatOptions` · **Необязательно**

Параметры форматирования. В таблице перечислены распространённые параметры, доступные в опубликованных типах Ядра, и их фактические значения по умолчанию в Ядре. (Дополнительные сведения о стандарте и среде выполнения см. в [параметрах конструктора `Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat#options)).

| Имя                      | Описание                                                                    | Тип                                                                                     | Необязательно | По умолчанию                                     |
| ------------------------ | --------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------- | ------------------------------------------------ |
| `locales`                | Переопределяет локали, используемые для форматирования.                     | `string \| string[]`                                                                    | Да            | `targetLocale` → `sourceLocale` → `en`           |
| `localeMatcher`          | Алгоритм сопоставления локалей.                                             | `'lookup' \| 'best fit'`                                                                | Да            | `'best fit'`                                     |
| `dateStyle`              | Общий стиль форматирования даты.                                            | `'full' \| 'long' \| 'medium' \| 'short'`                                               | Да            | —                                                |
| `timeStyle`              | Общий стиль форматирования времени.                                         | `'full' \| 'long' \| 'medium' \| 'short'`                                               | Да            | —                                                |
| `weekday`                | Формат представления дня недели.                                            | `'long' \| 'short' \| 'narrow'`                                                         | Да            | —                                                |
| `era`                    | Формат представления эры.                                                   | `'long' \| 'short' \| 'narrow'`                                                         | Да            | —                                                |
| `year`                   | Формат представления года.                                                  | `'numeric' \| '2-digit'`                                                                | Да            | `'numeric'`, если не заданы стили или компоненты |
| `month`                  | Формат представления месяца.                                                | `'numeric' \| '2-digit' \| 'long' \| 'short' \| 'narrow'`                               | Да            | `'numeric'`, если не заданы стили или компоненты |
| `day`                    | Формат представления дня.                                                   | `'numeric' \| '2-digit'`                                                                | Да            | `'numeric'`, если не заданы стили или компоненты |
| `dayPeriod`              | Форматирование периода дня (утро, день и т. д.).                            | `'narrow' \| 'short' \| 'long'`                                                         | Да            | —                                                |
| `hour`                   | Формат представления часа.                                                  | `'numeric' \| '2-digit'`                                                                | Да            | —                                                |
| `minute`                 | Формат представления минут.                                                 | `'numeric' \| '2-digit'`                                                                | Да            | —                                                |
| `second`                 | Формат представления секунд.                                                | `'numeric' \| '2-digit'`                                                                | Да            | —                                                |
| `fractionalSecondDigits` | Количество знаков в дробной части секунды.                                  | `1 \| 2 \| 3`                                                                           | Да            | —                                                |
| `timeZoneName`           | Формат названия часового пояса.                                             | `'long' \| 'short' \| 'longOffset' \| 'shortOffset' \| 'longGeneric' \| 'shortGeneric'` | Да            | —                                                |
| `timeZone`               | Название часового пояса IANA или поддерживаемый идентификатор смещения UTC. | `string`                                                                                | Да            | часовой пояс среды выполнения                    |
| `hour12`                 | Использовать ли 12-часовой формат времени.                                  | `boolean`                                                                               | Да            | зависит от локали                                |
| `hourCycle`              | Предпочтительный часовой цикл.                                              | `'h11' \| 'h12' \| 'h23' \| 'h24'`                                                      | Да            | зависит от локали                                |
| `calendar`               | Используемая календарная система.                                           | `string`                                                                                | Да            | `'gregory'`                                      |
| `numberingSystem`        | Система нумерации цифр.                                                     | `string`                                                                                | Да            | `'latn'`                                         |
| `formatMatcher`          | Алгоритм сопоставления форматов.                                            | `'basic' \| 'best fit'`                                                                 | Да            | `'best fit'`                                     |

`dateStyle` и `timeStyle` можно комбинировать друг с другом, но не с отдельными параметрами компонентов даты и времени, такими как `year`, `month` или `hour`. `hour12` переопределяет `hourCycle`, а `dayPeriod` влияет только на 12-часовые циклы. Ядро устанавливает `calendar: 'gregory'` и `numberingSystem: 'latn'`; в остальных случаях `Intl.DateTimeFormat` выбирает оба значения на основе локали.

## Возвращает [#returns]

**Тип** `string`

Дата и время, отформатированные в соответствии с правилами целевой локали.

## Примеры [#examples]

*Примечание: примеры без явно указанного `timeZone` отображаются в локальном часовом поясе среды выполнения; значения времени ниже приведены для `America/Los_Angeles` (UTC−7 на эту дату).*

```typescript
import { GT } from 'generaltranslation';

const gt = new GT({ targetLocale: 'en-US' });
const date = new Date('2024-03-14T14:30:45Z');

// Базовое форматирование даты (используются параметры по умолчанию)
console.log(gt.formatDateTime(date));
// Output: "3/14/2024"

// Форматирование для немецкой локали
console.log(gt.formatDateTime(date, { locales: 'de-DE' }));
// Output: "14.3.2024"

// Форматирование для японской локали
console.log(gt.formatDateTime(date, { locales: 'ja-JP' }));
// Output: "2024/3/14"
```

```typescript
// Стили даты и времени
const date = new Date('2024-03-14T14:30:45Z');

// Полный стиль даты
console.log(gt.formatDateTime(date, { dateStyle: 'full' }));
// Output: "Thursday, March 14, 2024"

// Длинная дата с коротким временем
console.log(gt.formatDateTime(date, {
  dateStyle: 'long',
  timeStyle: 'short',
}));
// Output: "March 14, 2024 at 7:30 AM"

// Произвольные компоненты даты
console.log(gt.formatDateTime(date, {
  weekday: 'long',
  year: 'numeric',
  month: 'long',
  day: 'numeric',
}));
// Output: "Thursday, March 14, 2024"
```

```typescript
// Часовой пояс и формат времени
const date = new Date('2024-03-14T14:30:45Z');

// Принудительный 12-часовой формат
console.log(gt.formatDateTime(date, {
  hour: 'numeric',
  minute: '2-digit',
  hour12: true,
}));
// Вывод: "7:30 AM"

// Принудительный 24-часовой формат
console.log(gt.formatDateTime(date, {
  hour: 'numeric',
  minute: '2-digit',
  hour12: false,
}));
// Вывод: "07:30"

// Конкретный часовой пояс
console.log(gt.formatDateTime(date, {
  timeZone: 'America/New_York',
  dateStyle: 'medium',
  timeStyle: 'short',
}));
// Вывод: "Mar 14, 2024, 10:30 AM"
```

## Заметки [#notes]

* Форматирование дат автоматически соответствует принятым для локали правилам.
* Для производительности и точности метод использует встроенный в браузер `Intl.DateTimeFormat`.
* Если указаны часовые пояса, они обрабатываются корректно.

## Sitemap

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