Skip to content
Day.js

Русский

English
简体中文
繁體中文
Español
Français
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Русский

English
简体中文
繁體中文
Español
Français
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Внешний вид

Sidebar Navigation

Установка

Node.js

Браузер

TypeScript

Скачать

Parse

Сейчас

Строка

Строка + Формат

Unix Timestamp (миллисекунды)

Unix-метка времени (в секундах)

Дата

Объект

Массив

UTC

Dayjs Clone

Валидация

Get + Set

Миллисекунда

Секунды

Минуты

Час

День месяца

День недели

День недели (с учетом локали)

ISO день недели

День года

Номер недели года

Неделя года (ISO)

Месяц

Квартал

Год

Недельный год

ISO год по неделям

Недели в году (по ISO)

Get

Set

Maximum

Минимум

Манипуляция

Add

Вычитание

Начало временного интервала

Конец периода времени

Local

UTC

Смещение UTC

Отображение

Формат

Время относительно текущего момента

Время относительно X

Относительно текущего времени

Время до X

Календарное время

Разница

Unix Timestamp (milliseconds)

Unix Timestamp

Количество дней в месяце

Как объект Javascript Date

В виде массива

В формате JSON

В формате строки ISO 8601

В виде объекта

В виде строки

Запрос

Is Before

Совпадает ли

Is After

Равно или раньше

То же самое или позже

Is Between

Является ли это Day.js

Високосный год

i18n

Загрузка локали по требованию.

Подключение локали в браузере

Изменение локали глобально

Локальное изменение локали

Получение текущей локали Day.js

Список месяцев и дней недели для текущей локали

Доступ к функциональности, связанной с локализацией

Плагин

Загрузка плагина в NodeJS

Подключение плагинов в браузере

AdvancedFormat

ArraySupport

BadMutable (Не рекомендуется)

Поддержка BigInt

BuddhistEra

Календарь

CustomParseFormat

DayOfYear

DevHelper

Duration

IsBetween

IsLeapYear

IsSameOrAfter

IsSameOrBefore

IsToday

IsTomorrow

IsYesterday

IsoWeek

IsoWeeksInYear

LocaleData

LocalizedFormat

MinMax

Поддержка объектов в Day.js

PluralGetSet

PreParsePostFormat

QuarterOfYear

RelativeTime

Timezone

ToArray

ToObject

UpdateLocale

UTC

weekOfYear

WeekYear

День недели

Настройка

Названия месяцев

Сокращённые названия месяцев

Названия дней недели

Сокращенные названия дней недели

Минимальные сокращения дней недели

Относительное время

Календарь

Длительности

Создание

Клонировать

Humanize

Формат

Миллисекунды

Секунды

Минуты

Часы

Дни

Недели

Месяцы

Годы

Добавить время

Вычитание времени

Использование Duration с Diff

Как единица времени

Получение единицы измерения времени

В формате JSON

Является ли объектом Duration

В виде строки ISO 8601

Локализация

Часовой пояс

Разбор с учетом часового пояса

Преобразование в часовой пояс

Определение часового пояса пользователя

Установка часового пояса по умолчанию

Содержание страницы

Относительное время ​

Locale#relativeTime должен быть объектом строк для подстановки в dayjs#from.

TIP

Для работы этого плагина требуется UpdateLocale.

js
dayjs.extend(updateLocale);

dayjs.updateLocale('en', {
  relativeTime: {
    future: 'через %s',
    past: '%s назад',
    s: 'несколько секунд',
    m: 'минуту',
    mm: '%d минут',
    h: 'час',
    hh: '%d часов',
    d: 'день',
    dd: '%d дней',
    M: 'месяц',
    MM: '%d месяцев',
    y: 'год',
    yy: '%d лет',
  },
});

Locale#relativeTime.future определяет префикс/суффикс для будущих дат. Locale#relativeTime.past определяет префикс/суффикс для прошлых дат.

Для остальных случаев, один символ обозначает единственное число, два символа — множественное.

Дополнительная обработка токенов ​

Если локаль требует дополнительной обработки токена, можно установить токен как функцию со следующей сигнатурой вместо строки. Функция должна возвращать строку.

js
relativeTime: {
  ...,
  yy: function (number, withoutSuffix, key, isFuture) {
    return string;
  }
}

Аргумент number – это количество единиц для данного ключа. Например, для m – это количество минут.

Аргумент withoutSuffix принимает значение true, если токен отображается без суффикса, и false, если с суффиксом. (Инвертированная логика объясняется тем, что по умолчанию используется отображение с суффиксом.)

Аргумент key указывает на ключ подстановки в объекте Locale#relativeTime (например, s m mm h и т. д.).

Аргумент isFuture принимает значение true, если будет использоваться будущий суффикс/префикс, и false, если будет использоваться прошлый префикс/суффикс.

Пороги и округление относительного времени ​

При использовании этого плагина можно передать объект конфигурации для обновления порогов времени и конфигурации округления.

js
var config = {
  thresholds: [{}],
  rounding: function
}
dayjs.extend(relativeTime, config)

thresholds – это массив объектов, определяющих, когда единица времени считается минутой, часом и т.д. Например, по умолчанию, более 45 секунд считается минутой, более 22 часов – днем и т.д. Чтобы изменить эти значения, можно передать новые значения thresholds, как показано ниже.

js
// строгие пороги
var thresholds = [
  { l: 's', r: 1 },
  { l: 'm', r: 1 },
  { l: 'mm', r: 59, d: 'minute' },
  { l: 'h', r: 1 },
  { l: 'hh', r: 23, d: 'hour' },
  { l: 'd', r: 1 },
  { l: 'dd', r: 29, d: 'day' },
  { l: 'M', r: 1 },
  { l: 'MM', r: 11, d: 'month' },
  { l: 'y', r: 1 },
  { l: 'yy', d: 'year' },
];

Можно также добавить свой собственный ключ порогов и обновить локаль соответствующим образом.

js
var thresholds = [
  ...,
  { l: 'ss', r: 59, d: 'second' }
]
dayjs.updateLocale('en', {
  relativeTime: {
    ...,
    ss: "%d seconds"
  }
})

rounding – это функция, которая обрабатывает число перед его передачей в строку формата relativeTime, указанную в локали. Чтобы изменить функцию округления, можно передать новую функцию rounding следующим образом.

js
// по умолчанию Math.round
var rounding = Math.floor;
Pager
Предыдущая страницаМинимальные сокращения дней недели
Следующая страницаКалендарь

Выпущено на условиях лицензии MIT.

Авторские права (c) 2020 iamkun

https://day.js.org/docs/en/customization/relative-time

Выпущено на условиях лицензии MIT.

Авторские права (c) 2020 iamkun