# generaltranslation: General Translation Core SDK: formatDateTime URL: https://generaltranslation.com/ru/docs/core/class/methods/formatting/format-date-time.mdx --- title: formatDateTime description: Справка по API для метода formatDateTime, который форматирует даты и время в соответствии с правилами локали --- ## Обзор Метод `formatDateTime` форматирует даты и время в соответствии с правилами, принятыми для конкретной локали, с помощью API интернационализации. Он автоматически учитывает форматы даты и времени, календари и часовые пояса в зависимости от целевой локали. ```typescript const gt = new GT({ targetLocale: 'de-DE' }); const formatted = gt.formatDateTime(new Date(), { dateStyle: 'medium', timeStyle: 'short' }); // Возвращает: "25.09.2025, 18:06" (форматирование даты и времени для немецкой локали) ``` ## Справка ### Параметры | Название | Тип | Описание | | ---------- | ----------------------- | ------------------------------------------ | | `date` | `Date` | Объект даты, который нужно отформатировать | | `options?` | `DateTimeFormatOptions` | Необязательные параметры форматирования | ### DateTimeFormatOptions Расширяет `Intl.DateTimeFormatOptions`, добавляя дополнительные параметры локали: | Name | Type | Description | | ------------------------- | --------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | | `locales?` | `string \| string[]` | Переопределяет локали для форматирования (по умолчанию используются локали экземпляра) | | `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'` | Представление года | | `month?` | `'numeric' \| '2-digit' \| 'long' \| 'short' \| 'narrow'` | Представление месяца | | `day?` | `'numeric' \| '2-digit'` | Представление дня | | `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?` | `string` | Идентификатор часового пояса IANA | | `hour12?` | `boolean` | Определяет, использовать ли 12-часовой формат времени | | `hourCycle?` | `'h11' \| 'h12' \| 'h23' \| 'h24'` | Предпочтительный часовой цикл | | `calendar?` | `string` | Используемая календарная система | | `numberingSystem?` | `string` | Система нумерации цифр | | `formatMatcher?` | `'basic' \| 'best fit'` | Алгоритм сопоставления форматов (по умолчанию: 'best fit') | ### Возвращает `string` - Дата и время, отформатированные в соответствии с правилами локали. *** ## Примеры ### Базовое форматирование даты и времени ```typescript copy 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 copy const date = new Date('2024-03-14T14:30:45Z'); // Полный формат даты console.log(gt.formatDateTime(date, { dateStyle: 'full' })); // Вывод: "Thursday, March 14, 2024" // Длинная дата с кратким временем console.log(gt.formatDateTime(date, { dateStyle: 'long', timeStyle: 'short' })); // Вывод: "March 14, 2024 at 7:30 AM" // Произвольные компоненты даты console.log(gt.formatDateTime(date, { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' })); // Вывод: "Thursday, March 14, 2024" ``` ### Часовой пояс и формат времени ```typescript copy 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" ``` *** ## Примечания * Форматирование даты автоматически соответствует принятым для локали правилам * Для оптимальной производительности и точности метод использует встроенный в браузер `Intl.DateTimeFormat` * При указании часовые пояса обрабатываются корректно ## Связанные методы * Дополнительные параметры см. в документации [`Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat) * Форматирование сообщений с интерполяцией дат описано в [`formatMessage`](/docs/core/class/methods/formatting/format-message) * Для использования без экземпляра GT см. автономный [`formatDateTime`](/docs/core/functions/formatting/format-date-time) * Сведения о календаре для конкретной локали см. в [`getLocaleProperties`](/docs/core/class/methods/locales/get-locale-properties) ## Дальнейшие шаги