# General Translation Platform: formatRelativeTime URL: https://generaltranslation.com/ru/docs/platform/core/reference/gt-class-methods/formatting/format-relative-time.mdx --- title: formatRelativeTime description: Форматирует значения относительного времени, например «несколько минут назад» или «через несколько дней». Справочник API для formatRelativeTime. --- Форматирует значение относительного времени с явно указанной единицей времени по правилам конкретной локали в экземпляре [GT](/docs/platform/core/reference/gt-class/constructor). General Translation использует встроенный API `Intl.RelativeTimeFormat` для формирования выражений вроде «2 часа назад» или «через 3 дня». ## Обзор [#overview] Вызовите `formatRelativeTime` у экземпляра [`GT`](/docs/platform/core/reference/gt-class/constructor), передав числовое значение, единицу времени и необязательный объект параметров. Отрицательное значение указывает на прошлое, положительное — на будущее. Метод возвращает отформатированную строку. ```typescript const gt = new GT(); const formatted = gt.formatRelativeTime(-1, 'day', { locales: 'en-US', numeric: 'auto', }); // "вчера" ``` Сигнатура: ```typescript formatRelativeTime( value: number, unit: Intl.RelativeTimeFormatUnit, options?: { locales?: string | string[] } & Omit ): string ``` *Примечание: `formatRelativeTime` выполняется локально с помощью `Intl.RelativeTimeFormat` и не требует ключа API. Если `locales` не указан, используется резервный вариант — локаль рендеринга экземпляра. О форматировании без экземпляра `GT` см. автономную функцию [`formatRelativeTime`](/docs/platform/core/reference/utility-functions/formatting/format-relative-time).* ## Как это работает [#how-it-works] * **Выбор локали.** Если `locales` не указаны, метод использует локали рендеринга экземпляра. * **На базе Intl.** Форматирование выполняется с помощью встроенного в браузер [`Intl.RelativeTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat). * **Значения по умолчанию.** По умолчанию для `numeric` используется `'auto'` (поэтому `-1 day` превращается во «вчера», а не в «1 день назад»), а для `style` — `'long'`. ## Параметры [#parameters] | Параметр | Описание | Тип | Необязательный | По умолчанию | | --------------------- | --------------------------------------------------------------------------------------------- | ----------------------------- | -------------- | ------------ | | [`value`](#value) | Значение относительного времени (отрицательное — для прошлого, положительное — для будущего). | `number` | Нет | — | | [`unit`](#unit) | Единица времени. | `Intl.RelativeTimeFormatUnit` | Нет | — | | [`options`](#options) | Параметры форматирования. | `object` | Да | — | ### `value` [#value] **Тип** `number` · **Обязательно** Значение относительного времени. Отрицательные значения указывают на прошлое, положительные — на будущее. ### `unit` [#unit] **Тип** `Intl.RelativeTimeFormatUnit` · **обязательно** Единица времени: `'second'`, `'minute'`, `'hour'`, `'day'`, `'week'`, `'month'` или `'year'`. ### `options` [#options] **Тип** `{ locales?: string | string[] } & Omit` · **Необязательно** Параметры форматирования: | Имя | Описание | Тип | Необязательно | По умолчанию | | --------------- | ---------------------------------------------------------------------------------- | ------------------------------- | ------------- | ----------------- | | `locales` | Локали для форматирования. По умолчанию используются локали рендеринга экземпляра. | `string \| string[]` | Да | локали экземпляра | | `numeric` | Всегда ли использовать числовой формат. | `'always' \| 'auto'` | Да | `'auto'` | | `style` | Длина результата. | `'long' \| 'short' \| 'narrow'` | Да | `'long'` | | `localeMatcher` | Алгоритм сопоставления локалей. | `'best fit' \| 'lookup'` | Да | `'best fit'` | ## Возвращает [#returns] **Тип** `string` Строка относительного времени в отформатированном виде. ## Примеры [#examples] ```typescript import { GT } from 'generaltranslation'; const gt = new GT(); // Прошедшее время gt.formatRelativeTime(-2, 'hour', { locales: 'en-US' }); // Возвращает: "2 hours ago" // Будущее время gt.formatRelativeTime(3, 'day', { locales: 'fr-FR' }); // Возвращает: "dans 3 jours" // С numeric: 'auto' (по умолчанию) gt.formatRelativeTime(-1, 'day', { locales: 'en-US' }); // Возвращает: "yesterday" ``` ## Заметки [#notes] * По умолчанию используются значения `numeric: 'auto'` и `style: 'long'`. * В основе используется `Intl.RelativeTimeFormat`. * Чтобы автоматически выбирать единицу времени по `Date`, используйте [`formatRelativeTimeFromDate`](/docs/platform/core/reference/gt-class-methods/formatting/format-relative-time-from-date).