diff options
author | Sebastian <sebasjm@gmail.com> | 2021-08-23 16:46:06 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2021-08-23 16:48:30 -0300 |
commit | 38acabfa6089ab8ac469c12b5f55022fb96935e5 (patch) | |
tree | 453dbf70000cc5e338b06201af1eaca8343f8f73 /date-fns/src/locale/ru | |
parent | f26125e039143b92dc0d84e7775f508ab0cdcaa8 (diff) | |
download | node-vendor-38acabfa6089ab8ac469c12b5f55022fb96935e5.tar.gz node-vendor-38acabfa6089ab8ac469c12b5f55022fb96935e5.tar.bz2 node-vendor-38acabfa6089ab8ac469c12b5f55022fb96935e5.zip |
Diffstat (limited to 'date-fns/src/locale/ru')
-rw-r--r-- | date-fns/src/locale/ru/_lib/formatDistance/index.js | 247 | ||||
-rw-r--r-- | date-fns/src/locale/ru/_lib/formatLong/index.js | 38 | ||||
-rw-r--r-- | date-fns/src/locale/ru/_lib/formatRelative/index.js | 88 | ||||
-rw-r--r-- | date-fns/src/locale/ru/_lib/localize/index.js | 210 | ||||
-rw-r--r-- | date-fns/src/locale/ru/_lib/match/index.js | 138 | ||||
-rw-r--r-- | date-fns/src/locale/ru/index.d.ts | 4 | ||||
-rw-r--r-- | date-fns/src/locale/ru/index.js | 29 | ||||
-rw-r--r-- | date-fns/src/locale/ru/index.js.flow | 35 | ||||
-rw-r--r-- | date-fns/src/locale/ru/snapshot.md | 304 |
9 files changed, 1093 insertions, 0 deletions
diff --git a/date-fns/src/locale/ru/_lib/formatDistance/index.js b/date-fns/src/locale/ru/_lib/formatDistance/index.js new file mode 100644 index 0000000..686777d --- /dev/null +++ b/date-fns/src/locale/ru/_lib/formatDistance/index.js @@ -0,0 +1,247 @@ +function declension(scheme, count) { + // scheme for count=1 exists + if (scheme.one !== undefined && count === 1) { + return scheme.one + } + + var rem10 = count % 10 + var rem100 = count % 100 + + // 1, 21, 31, ... + if (rem10 === 1 && rem100 !== 11) { + return scheme.singularNominative.replace('{{count}}', count) + + // 2, 3, 4, 22, 23, 24, 32 ... + } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) { + return scheme.singularGenitive.replace('{{count}}', count) + + // 5, 6, 7, 8, 9, 10, 11, ... + } else { + return scheme.pluralGenitive.replace('{{count}}', count) + } +} + +function buildLocalizeTokenFn(scheme) { + return function(count, options) { + if (options.addSuffix) { + if (options.comparison > 0) { + if (scheme.future) { + return declension(scheme.future, count) + } else { + return 'через ' + declension(scheme.regular, count) + } + } else { + if (scheme.past) { + return declension(scheme.past, count) + } else { + return declension(scheme.regular, count) + ' назад' + } + } + } else { + return declension(scheme.regular, count) + } + } +} + +var formatDistanceLocale = { + lessThanXSeconds: buildLocalizeTokenFn({ + regular: { + one: 'меньше секунды', + singularNominative: 'меньше {{count}} секунды', + singularGenitive: 'меньше {{count}} секунд', + pluralGenitive: 'меньше {{count}} секунд' + }, + future: { + one: 'меньше, чем через секунду', + singularNominative: 'меньше, чем через {{count}} секунду', + singularGenitive: 'меньше, чем через {{count}} секунды', + pluralGenitive: 'меньше, чем через {{count}} секунд' + } + }), + + xSeconds: buildLocalizeTokenFn({ + regular: { + singularNominative: '{{count}} секунда', + singularGenitive: '{{count}} секунды', + pluralGenitive: '{{count}} секунд' + }, + past: { + singularNominative: '{{count}} секунду назад', + singularGenitive: '{{count}} секунды назад', + pluralGenitive: '{{count}} секунд назад' + }, + future: { + singularNominative: 'через {{count}} секунду', + singularGenitive: 'через {{count}} секунды', + pluralGenitive: 'через {{count}} секунд' + } + }), + + halfAMinute: function(_, options) { + if (options.addSuffix) { + if (options.comparison > 0) { + return 'через полминуты' + } else { + return 'полминуты назад' + } + } + + return 'полминуты' + }, + + lessThanXMinutes: buildLocalizeTokenFn({ + regular: { + one: 'меньше минуты', + singularNominative: 'меньше {{count}} минуты', + singularGenitive: 'меньше {{count}} минут', + pluralGenitive: 'меньше {{count}} минут' + }, + future: { + one: 'меньше, чем через минуту', + singularNominative: 'меньше, чем через {{count}} минуту', + singularGenitive: 'меньше, чем через {{count}} минуты', + pluralGenitive: 'меньше, чем через {{count}} минут' + } + }), + + xMinutes: buildLocalizeTokenFn({ + regular: { + singularNominative: '{{count}} минута', + singularGenitive: '{{count}} минуты', + pluralGenitive: '{{count}} минут' + }, + past: { + singularNominative: '{{count}} минуту назад', + singularGenitive: '{{count}} минуты назад', + pluralGenitive: '{{count}} минут назад' + }, + future: { + singularNominative: 'через {{count}} минуту', + singularGenitive: 'через {{count}} минуты', + pluralGenitive: 'через {{count}} минут' + } + }), + + aboutXHours: buildLocalizeTokenFn({ + regular: { + singularNominative: 'около {{count}} часа', + singularGenitive: 'около {{count}} часов', + pluralGenitive: 'около {{count}} часов' + }, + future: { + singularNominative: 'приблизительно через {{count}} час', + singularGenitive: 'приблизительно через {{count}} часа', + pluralGenitive: 'приблизительно через {{count}} часов' + } + }), + + xHours: buildLocalizeTokenFn({ + regular: { + singularNominative: '{{count}} час', + singularGenitive: '{{count}} часа', + pluralGenitive: '{{count}} часов' + } + }), + + xDays: buildLocalizeTokenFn({ + regular: { + singularNominative: '{{count}} день', + singularGenitive: '{{count}} дня', + pluralGenitive: '{{count}} дней' + } + }), + + aboutXWeeks: buildLocalizeTokenFn({ + regular: { + singularNominative: 'около {{count}} недели', + singularGenitive: 'около {{count}} недель', + pluralGenitive: 'около {{count}} недель' + }, + future: { + singularNominative: 'приблизительно через {{count}} неделю', + singularGenitive: 'приблизительно через {{count}} недели', + pluralGenitive: 'приблизительно через {{count}} недель' + } + }), + + xWeeks: buildLocalizeTokenFn({ + regular: { + singularNominative: '{{count}} неделя', + singularGenitive: '{{count}} недели', + pluralGenitive: '{{count}} недель' + } + }), + + aboutXMonths: buildLocalizeTokenFn({ + regular: { + singularNominative: 'около {{count}} месяца', + singularGenitive: 'около {{count}} месяцев', + pluralGenitive: 'около {{count}} месяцев' + }, + future: { + singularNominative: 'приблизительно через {{count}} месяц', + singularGenitive: 'приблизительно через {{count}} месяца', + pluralGenitive: 'приблизительно через {{count}} месяцев' + } + }), + + xMonths: buildLocalizeTokenFn({ + regular: { + singularNominative: '{{count}} месяц', + singularGenitive: '{{count}} месяца', + pluralGenitive: '{{count}} месяцев' + } + }), + + aboutXYears: buildLocalizeTokenFn({ + regular: { + singularNominative: 'около {{count}} года', + singularGenitive: 'около {{count}} лет', + pluralGenitive: 'около {{count}} лет' + }, + future: { + singularNominative: 'приблизительно через {{count}} год', + singularGenitive: 'приблизительно через {{count}} года', + pluralGenitive: 'приблизительно через {{count}} лет' + } + }), + + xYears: buildLocalizeTokenFn({ + regular: { + singularNominative: '{{count}} год', + singularGenitive: '{{count}} года', + pluralGenitive: '{{count}} лет' + } + }), + + overXYears: buildLocalizeTokenFn({ + regular: { + singularNominative: 'больше {{count}} года', + singularGenitive: 'больше {{count}} лет', + pluralGenitive: 'больше {{count}} лет' + }, + future: { + singularNominative: 'больше, чем через {{count}} год', + singularGenitive: 'больше, чем через {{count}} года', + pluralGenitive: 'больше, чем через {{count}} лет' + } + }), + + almostXYears: buildLocalizeTokenFn({ + regular: { + singularNominative: 'почти {{count}} год', + singularGenitive: 'почти {{count}} года', + pluralGenitive: 'почти {{count}} лет' + }, + future: { + singularNominative: 'почти через {{count}} год', + singularGenitive: 'почти через {{count}} года', + pluralGenitive: 'почти через {{count}} лет' + } + }) +} + +export default function formatDistance(token, count, options) { + options = options || {} + return formatDistanceLocale[token](count, options) +} diff --git a/date-fns/src/locale/ru/_lib/formatLong/index.js b/date-fns/src/locale/ru/_lib/formatLong/index.js new file mode 100644 index 0000000..e3ac8dd --- /dev/null +++ b/date-fns/src/locale/ru/_lib/formatLong/index.js @@ -0,0 +1,38 @@ +import buildFormatLongFn from '../../../_lib/buildFormatLongFn/index' + +var dateFormats = { + full: "EEEE, d MMMM y 'г.'", + long: "d MMMM y 'г.'", + medium: "d MMM y 'г.'", + short: 'dd.MM.y' +} + +var timeFormats = { + full: 'H:mm:ss zzzz', + long: 'H:mm:ss z', + medium: 'H:mm:ss', + short: 'H:mm' +} + +var dateTimeFormats = { + any: '{{date}}, {{time}}' +} + +var formatLong = { + date: buildFormatLongFn({ + formats: dateFormats, + defaultWidth: 'full' + }), + + time: buildFormatLongFn({ + formats: timeFormats, + defaultWidth: 'full' + }), + + dateTime: buildFormatLongFn({ + formats: dateTimeFormats, + defaultWidth: 'any' + }) +} + +export default formatLong diff --git a/date-fns/src/locale/ru/_lib/formatRelative/index.js b/date-fns/src/locale/ru/_lib/formatRelative/index.js new file mode 100644 index 0000000..ad4dbcf --- /dev/null +++ b/date-fns/src/locale/ru/_lib/formatRelative/index.js @@ -0,0 +1,88 @@ +import isSameUTCWeek from '../../../../_lib/isSameUTCWeek/index' + +var accusativeWeekdays = [ + 'воскресенье', + 'понедельник', + 'вторник', + 'среду', + 'четверг', + 'пятницу', + 'субботу' +] + +function lastWeek(day) { + var weekday = accusativeWeekdays[day] + + switch (day) { + case 0: + return "'в прошлое " + weekday + " в' p" + case 1: + case 2: + case 4: + return "'в прошлый " + weekday + " в' p" + case 3: + case 5: + case 6: + return "'в прошлую " + weekday + " в' p" + } +} + +function thisWeek(day) { + var weekday = accusativeWeekdays[day] + + if (day === 2 /* Tue */) { + return "'во " + weekday + " в' p" + } else { + return "'в " + weekday + " в' p" + } +} + +function nextWeek(day) { + var weekday = accusativeWeekdays[day] + + switch (day) { + case 0: + return "'в следующее " + weekday + " в' p" + case 1: + case 2: + case 4: + return "'в следующий " + weekday + " в' p" + case 3: + case 5: + case 6: + return "'в следующую " + weekday + " в' p" + } +} + +var formatRelativeLocale = { + lastWeek: function(date, baseDate, options) { + var day = date.getUTCDay() + if (isSameUTCWeek(date, baseDate, options)) { + return thisWeek(day) + } else { + return lastWeek(day) + } + }, + yesterday: "'вчера в' p", + today: "'сегодня в' p", + tomorrow: "'завтра в' p", + nextWeek: function(date, baseDate, options) { + var day = date.getUTCDay() + if (isSameUTCWeek(date, baseDate, options)) { + return thisWeek(day) + } else { + return nextWeek(day) + } + }, + other: 'P' +} + +export default function formatRelative(token, date, baseDate, options) { + var format = formatRelativeLocale[token] + + if (typeof format === 'function') { + return format(date, baseDate, options) + } + + return format +} diff --git a/date-fns/src/locale/ru/_lib/localize/index.js b/date-fns/src/locale/ru/_lib/localize/index.js new file mode 100644 index 0000000..86ef3b0 --- /dev/null +++ b/date-fns/src/locale/ru/_lib/localize/index.js @@ -0,0 +1,210 @@ +import buildLocalizeFn from '../../../_lib/buildLocalizeFn/index' + +var eraValues = { + narrow: ['до н.э.', 'н.э.'], + abbreviated: ['до н. э.', 'н. э.'], + wide: ['до нашей эры', 'нашей эры'] +} + +var quarterValues = { + narrow: ['1', '2', '3', '4'], + abbreviated: ['1-й кв.', '2-й кв.', '3-й кв.', '4-й кв.'], + wide: ['1-й квартал', '2-й квартал', '3-й квартал', '4-й квартал'] +} + +var monthValues = { + narrow: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'], + abbreviated: [ + 'янв.', + 'фев.', + 'март', + 'апр.', + 'май', + 'июнь', + 'июль', + 'авг.', + 'сент.', + 'окт.', + 'нояб.', + 'дек.' + ], + wide: [ + 'январь', + 'февраль', + 'март', + 'апрель', + 'май', + 'июнь', + 'июль', + 'август', + 'сентябрь', + 'октябрь', + 'ноябрь', + 'декабрь' + ] +} +var formattingMonthValues = { + narrow: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'], + abbreviated: [ + 'янв.', + 'фев.', + 'мар.', + 'апр.', + 'мая', + 'июн.', + 'июл.', + 'авг.', + 'сент.', + 'окт.', + 'нояб.', + 'дек.' + ], + wide: [ + 'января', + 'февраля', + 'марта', + 'апреля', + 'мая', + 'июня', + 'июля', + 'августа', + 'сентября', + 'октября', + 'ноября', + 'декабря' + ] +} + +var dayValues = { + narrow: ['В', 'П', 'В', 'С', 'Ч', 'П', 'С'], + short: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], + abbreviated: ['вск', 'пнд', 'втр', 'срд', 'чтв', 'птн', 'суб'], + wide: [ + 'воскресенье', + 'понедельник', + 'вторник', + 'среда', + 'четверг', + 'пятница', + 'суббота' + ] +} + +var dayPeriodValues = { + narrow: { + am: 'ДП', + pm: 'ПП', + midnight: 'полн.', + noon: 'полд.', + morning: 'утро', + afternoon: 'день', + evening: 'веч.', + night: 'ночь' + }, + abbreviated: { + am: 'ДП', + pm: 'ПП', + midnight: 'полн.', + noon: 'полд.', + morning: 'утро', + afternoon: 'день', + evening: 'веч.', + night: 'ночь' + }, + wide: { + am: 'ДП', + pm: 'ПП', + midnight: 'полночь', + noon: 'полдень', + morning: 'утро', + afternoon: 'день', + evening: 'вечер', + night: 'ночь' + } +} +var formattingDayPeriodValues = { + narrow: { + am: 'ДП', + pm: 'ПП', + midnight: 'полн.', + noon: 'полд.', + morning: 'утра', + afternoon: 'дня', + evening: 'веч.', + night: 'ночи' + }, + abbreviated: { + am: 'ДП', + pm: 'ПП', + midnight: 'полн.', + noon: 'полд.', + morning: 'утра', + afternoon: 'дня', + evening: 'веч.', + night: 'ночи' + }, + wide: { + am: 'ДП', + pm: 'ПП', + midnight: 'полночь', + noon: 'полдень', + morning: 'утра', + afternoon: 'дня', + evening: 'вечера', + night: 'ночи' + } +} + +function ordinalNumber(dirtyNumber, dirtyOptions) { + var options = dirtyOptions || {} + var unit = String(options.unit) + var suffix + + if (unit === 'date') { + suffix = '-е' + } else if (unit === 'week' || unit === 'minute' || unit === 'second') { + suffix = '-я' + } else { + suffix = '-й' + } + + return dirtyNumber + suffix +} + +var localize = { + ordinalNumber: ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: 'wide' + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: 'wide', + argumentCallback: function(quarter) { + return Number(quarter) - 1 + } + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: 'wide', + formattingValues: formattingMonthValues, + defaultFormattingWidth: 'wide' + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: 'wide' + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: 'any', + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: 'wide' + }) +} + +export default localize diff --git a/date-fns/src/locale/ru/_lib/match/index.js b/date-fns/src/locale/ru/_lib/match/index.js new file mode 100644 index 0000000..3b7425a --- /dev/null +++ b/date-fns/src/locale/ru/_lib/match/index.js @@ -0,0 +1,138 @@ +import buildMatchPatternFn from '../../../_lib/buildMatchPatternFn/index' +import buildMatchFn from '../../../_lib/buildMatchFn/index' + +var matchOrdinalNumberPattern = /^(\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i +var parseOrdinalNumberPattern = /\d+/i + +var matchEraPatterns = { + narrow: /^((до )?н\.?\s?э\.?)/i, + abbreviated: /^((до )?н\.?\s?э\.?)/i, + wide: /^(до нашей эры|нашей эры|наша эра)/i +} +var parseEraPatterns = { + any: [/^д/i, /^н/i] +} + +var matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^[1234](-?[ыои]?й?)? кв.?/i, + wide: /^[1234](-?[ыои]?й?)? квартал/i +} +var parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i] +} + +var matchMonthPatterns = { + narrow: /^[яфмаисонд]/i, + abbreviated: /^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\.?/i, + wide: /^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i +} +var parseMonthPatterns = { + narrow: [ + /^я/i, + /^ф/i, + /^м/i, + /^а/i, + /^м/i, + /^и/i, + /^и/i, + /^а/i, + /^с/i, + /^о/i, + /^н/i, + /^я/i + ], + any: [ + /^я/i, + /^ф/i, + /^мар/i, + /^ап/i, + /^ма[йя]/i, + /^июн/i, + /^июл/i, + /^ав/i, + /^с/i, + /^о/i, + /^н/i, + /^д/i + ] +} + +var matchDayPatterns = { + narrow: /^[впсч]/i, + short: /^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\.?/i, + abbreviated: /^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i, + wide: /^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i +} +var parseDayPatterns = { + narrow: [/^в/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i], + any: [/^в[ос]/i, /^п[он]/i, /^в/i, /^ср/i, /^ч/i, /^п[ят]/i, /^с[уб]/i] +} + +var matchDayPeriodPatterns = { + narrow: /^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i, + abbreviated: /^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i, + wide: /^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i +} +var parseDayPeriodPatterns = { + any: { + am: /^дп/i, + pm: /^пп/i, + midnight: /^полн/i, + noon: /^полд/i, + morning: /^у/i, + afternoon: /^д[ен]/i, + evening: /^в/i, + night: /^н/i + } +} + +var match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: function(value) { + return parseInt(value, 10) + } + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: 'wide', + parsePatterns: parseEraPatterns, + defaultParseWidth: 'any' + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: 'wide', + parsePatterns: parseQuarterPatterns, + defaultParseWidth: 'any', + valueCallback: function(index) { + return index + 1 + } + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: 'wide', + parsePatterns: parseMonthPatterns, + defaultParseWidth: 'any' + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: 'wide', + parsePatterns: parseDayPatterns, + defaultParseWidth: 'any' + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: 'wide', + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: 'any' + }) +} + +export default match diff --git a/date-fns/src/locale/ru/index.d.ts b/date-fns/src/locale/ru/index.d.ts new file mode 100644 index 0000000..1a7f74f --- /dev/null +++ b/date-fns/src/locale/ru/index.d.ts @@ -0,0 +1,4 @@ +// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it. + +import { ru } from 'date-fns/locale' +export default ru diff --git a/date-fns/src/locale/ru/index.js b/date-fns/src/locale/ru/index.js new file mode 100644 index 0000000..7271c7b --- /dev/null +++ b/date-fns/src/locale/ru/index.js @@ -0,0 +1,29 @@ +import formatDistance from './_lib/formatDistance/index' +import formatLong from './_lib/formatLong/index' +import formatRelative from './_lib/formatRelative/index' +import localize from './_lib/localize/index' +import match from './_lib/match/index' + +/** + * @type {Locale} + * @category Locales + * @summary Russian locale. + * @language Russian + * @iso-639-2 rus + * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp} + * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss} + */ +var locale = { + code: 'ru', + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 1 + } +} + +export default locale diff --git a/date-fns/src/locale/ru/index.js.flow b/date-fns/src/locale/ru/index.js.flow new file mode 100644 index 0000000..b9dfe66 --- /dev/null +++ b/date-fns/src/locale/ru/index.js.flow @@ -0,0 +1,35 @@ +// @flow +// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it. + +export type Locale = { + code?: string, + formatDistance?: (...args: Array<any>) => any, + formatRelative?: (...args: Array<any>) => any, + localize?: { + ordinalNumber: (...args: Array<any>) => any, + era: (...args: Array<any>) => any, + quarter: (...args: Array<any>) => any, + month: (...args: Array<any>) => any, + day: (...args: Array<any>) => any, + dayPeriod: (...args: Array<any>) => any, + }, + formatLong?: { + date: (...args: Array<any>) => any, + time: (...args: Array<any>) => any, + dateTime: (...args: Array<any>) => any, + }, + match?: { + ordinalNumber: (...args: Array<any>) => any, + era: (...args: Array<any>) => any, + quarter: (...args: Array<any>) => any, + month: (...args: Array<any>) => any, + day: (...args: Array<any>) => any, + dayPeriod: (...args: Array<any>) => any, + }, + options?: { + weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6, + firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7, + }, +} + +declare module.exports: Locale diff --git a/date-fns/src/locale/ru/snapshot.md b/date-fns/src/locale/ru/snapshot.md new file mode 100644 index 0000000..496d151 --- /dev/null +++ b/date-fns/src/locale/ru/snapshot.md @@ -0,0 +1,304 @@ +# Russian (ru) locale + +## `format` and `parse` + +| Title | Token string | Date | `format` result | `parse` result | +| ------------------------------- | ------------ | ------------------------ | ----------------------------------------------- | ------------------------ | +| Calendar year | yo | 1987-02-11T12:13:14.015Z | 1987-й | 1987-01-01T00:00:00.000Z | +| | | 0005-01-01T12:13:14.015Z | 5-й | 0005-01-01T00:00:00.000Z | +| Local week-numbering year | Yo | 1987-02-11T12:13:14.015Z | 1987-й | 1986-12-29T00:00:00.000Z | +| | | 0005-01-01T12:13:14.015Z | 5-й | 0004-12-27T00:00:00.000Z | +| Quarter (formatting) | Qo | 2019-01-01T12:13:14.015Z | 1-й | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | 2-й | 2019-04-01T00:00:00.000Z | +| | QQQ | 2019-01-01T12:13:14.015Z | 1-й кв. | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | 2-й кв. | 2019-04-01T00:00:00.000Z | +| | QQQQ | 2019-01-01T12:13:14.015Z | 1-й квартал | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | 2-й квартал | 2019-04-01T00:00:00.000Z | +| | QQQQQ | 2019-01-01T12:13:14.015Z | 1 | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | 2 | 2019-04-01T00:00:00.000Z | +| Quarter (stand-alone) | qo | 2019-01-01T12:13:14.015Z | 1-й | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | 2-й | 2019-04-01T00:00:00.000Z | +| | qqq | 2019-01-01T12:13:14.015Z | 1-й кв. | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | 2-й кв. | 2019-04-01T00:00:00.000Z | +| | qqqq | 2019-01-01T12:13:14.015Z | 1-й квартал | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | 2-й квартал | 2019-04-01T00:00:00.000Z | +| Month (formatting) | Mo | 2019-02-11T12:13:14.015Z | 2-й | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | 7-й | 2019-07-01T00:00:00.000Z | +| | MMM | 2019-02-11T12:13:14.015Z | фев. | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | июл. | 2019-07-01T00:00:00.000Z | +| | MMMM | 2019-02-11T12:13:14.015Z | февраля | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | июля | 2019-07-01T00:00:00.000Z | +| | MMMMM | 2019-02-11T12:13:14.015Z | Ф | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | И | 2019-06-01T00:00:00.000Z | +| Month (stand-alone) | Lo | 2019-02-11T12:13:14.015Z | 2-й | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | 7-й | 2019-07-01T00:00:00.000Z | +| | LLL | 2019-02-11T12:13:14.015Z | фев. | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | июль | 2019-07-01T00:00:00.000Z | +| | LLLL | 2019-02-11T12:13:14.015Z | февраль | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | июль | 2019-07-01T00:00:00.000Z | +| | LLLLL | 2019-02-11T12:13:14.015Z | Ф | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | И | 2019-06-01T00:00:00.000Z | +| Local week of year | wo | 2019-01-01T12:13:14.015Z | 1-я | 2018-12-31T00:00:00.000Z | +| | | 2019-12-01T12:13:14.015Z | 48-я | 2019-11-25T00:00:00.000Z | +| ISO week of year | Io | 2019-01-01T12:13:14.015Z | 1-я | 2018-12-31T00:00:00.000Z | +| | | 2019-12-01T12:13:14.015Z | 48-я | 2019-11-25T00:00:00.000Z | +| Day of month | do | 2019-02-11T12:13:14.015Z | 11-е | 2019-02-11T00:00:00.000Z | +| | | 2019-02-28T12:13:14.015Z | 28-е | 2019-02-28T00:00:00.000Z | +| Day of year | Do | 2019-02-11T12:13:14.015Z | 42-й | 2019-02-11T00:00:00.000Z | +| | | 2019-12-31T12:13:14.015Z | 365-й | 2019-12-31T00:00:00.000Z | +| Day of week (formatting) | E | 2019-02-11T12:13:14.015Z | пнд | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | птн | 2019-02-15T00:00:00.000Z | +| | EE | 2019-02-11T12:13:14.015Z | пнд | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | птн | 2019-02-15T00:00:00.000Z | +| | EEE | 2019-02-11T12:13:14.015Z | пнд | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | птн | 2019-02-15T00:00:00.000Z | +| | EEEE | 2019-02-11T12:13:14.015Z | понедельник | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | пятница | 2019-02-15T00:00:00.000Z | +| | EEEEE | 2019-02-11T12:13:14.015Z | П | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | П | 2019-02-11T00:00:00.000Z | +| | EEEEEE | 2019-02-11T12:13:14.015Z | пн | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | пт | 2019-02-15T00:00:00.000Z | +| ISO day of week (formatting) | io | 2019-02-11T12:13:14.015Z | 1-й | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | 5-й | 2019-02-15T00:00:00.000Z | +| | iii | 2019-02-11T12:13:14.015Z | пнд | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | птн | 2019-02-15T00:00:00.000Z | +| | iiii | 2019-02-11T12:13:14.015Z | понедельник | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | пятница | 2019-02-15T00:00:00.000Z | +| | iiiii | 2019-02-11T12:13:14.015Z | П | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | П | 2019-02-11T00:00:00.000Z | +| | iiiiii | 2019-02-11T12:13:14.015Z | пн | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | пт | 2019-02-15T00:00:00.000Z | +| Local day of week (formatting) | eo | 2019-02-11T12:13:14.015Z | 1-й | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | 5-й | 2019-02-15T00:00:00.000Z | +| | eee | 2019-02-11T12:13:14.015Z | пнд | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | птн | 2019-02-15T00:00:00.000Z | +| | eeee | 2019-02-11T12:13:14.015Z | понедельник | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | пятница | 2019-02-15T00:00:00.000Z | +| | eeeee | 2019-02-11T12:13:14.015Z | П | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | П | 2019-02-11T00:00:00.000Z | +| | eeeeee | 2019-02-11T12:13:14.015Z | пн | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | пт | 2019-02-15T00:00:00.000Z | +| Local day of week (stand-alone) | co | 2019-02-11T12:13:14.015Z | 1-й | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | 5-й | 2019-02-15T00:00:00.000Z | +| | ccc | 2019-02-11T12:13:14.015Z | пнд | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | птн | 2019-02-15T00:00:00.000Z | +| | cccc | 2019-02-11T12:13:14.015Z | понедельник | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | пятница | 2019-02-15T00:00:00.000Z | +| | ccccc | 2019-02-11T12:13:14.015Z | П | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | П | 2019-02-11T00:00:00.000Z | +| | cccccc | 2019-02-11T12:13:14.015Z | пн | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | пт | 2019-02-15T00:00:00.000Z | +| AM, PM | a | 2019-02-11T11:13:14.015Z | ДП | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | ПП | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | ПП | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | ДП | 2019-02-11T00:00:00.000Z | +| | aa | 2019-02-11T11:13:14.015Z | ДП | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | ПП | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | ПП | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | ДП | 2019-02-11T00:00:00.000Z | +| | aaa | 2019-02-11T11:13:14.015Z | дп | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | пп | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | пп | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | дп | 2019-02-11T00:00:00.000Z | +| | aaaa | 2019-02-11T11:13:14.015Z | ДП | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | ПП | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | ПП | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | ДП | 2019-02-11T00:00:00.000Z | +| | aaaaa | 2019-02-11T11:13:14.015Z | ДП | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | ПП | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | ПП | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | ДП | 2019-02-11T00:00:00.000Z | +| AM, PM, noon, midnight | b | 2019-02-11T11:13:14.015Z | ДП | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | ПП | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | ПП | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | ДП | 2019-02-11T00:00:00.000Z | +| | bb | 2019-02-11T11:13:14.015Z | ДП | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | ПП | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | ПП | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | ДП | 2019-02-11T00:00:00.000Z | +| | bbb | 2019-02-11T11:13:14.015Z | дп | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | пп | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | пп | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | дп | 2019-02-11T00:00:00.000Z | +| | bbbb | 2019-02-11T11:13:14.015Z | ДП | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | ПП | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | ПП | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | ДП | 2019-02-11T00:00:00.000Z | +| | bbbbb | 2019-02-11T11:13:14.015Z | ДП | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | ПП | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | ПП | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | ДП | 2019-02-11T00:00:00.000Z | +| Flexible day period | B | 2019-02-11T11:13:14.015Z | утра | 2019-02-11T04:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | дня | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | веч. | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | ночи | 2019-02-11T00:00:00.000Z | +| | BB | 2019-02-11T11:13:14.015Z | утра | 2019-02-11T04:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | дня | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | веч. | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | ночи | 2019-02-11T00:00:00.000Z | +| | BBB | 2019-02-11T11:13:14.015Z | утра | 2019-02-11T04:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | дня | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | веч. | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | ночи | 2019-02-11T00:00:00.000Z | +| | BBBB | 2019-02-11T11:13:14.015Z | утра | 2019-02-11T04:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | дня | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | вечера | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | ночи | 2019-02-11T00:00:00.000Z | +| | BBBBB | 2019-02-11T11:13:14.015Z | утра | 2019-02-11T04:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | дня | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | веч. | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | ночи | 2019-02-11T00:00:00.000Z | +| Hour [1-12] | ho | 2019-02-11T11:13:14.015Z | 11-й | 2019-02-11T11:00:00.000Z | +| | | 2019-02-11T23:13:14.015Z | 11-й | 2019-02-11T23:00:00.000Z | +| Hour [0-23] | Ho | 2019-02-11T11:13:14.015Z | 11-й | 2019-02-11T11:00:00.000Z | +| | | 2019-02-11T23:13:14.015Z | 23-й | 2019-02-11T23:00:00.000Z | +| Hour [0-11] | Ko | 2019-02-11T11:13:14.015Z | 11-й | 2019-02-11T11:00:00.000Z | +| | | 2019-02-11T23:13:14.015Z | 11-й | 2019-02-11T23:00:00.000Z | +| Hour [1-24] | ko | 2019-02-11T11:13:14.015Z | 11-й | 2019-02-11T11:00:00.000Z | +| | | 2019-02-11T23:13:14.015Z | 23-й | 2019-02-11T23:00:00.000Z | +| Minute | mo | 2019-01-01T12:01:14.015Z | 1-я | 2019-01-01T12:01:00.000Z | +| | | 2019-04-01T12:55:14.015Z | 55-я | 2019-04-01T12:55:00.000Z | +| Second | so | 2019-01-01T12:13:01.015Z | 1-я | 2019-01-01T12:13:01.000Z | +| | | 2019-04-01T12:13:55.015Z | 55-я | 2019-04-01T12:13:55.000Z | +| Long localized date | P | 1987-02-11T12:13:14.015Z | 11.02.1987 | 1987-02-11T00:00:00.000Z | +| | | 1453-05-29T23:59:59.999Z | 29.05.1453 | 1453-05-29T00:00:00.000Z | +| | PP | 1987-02-11T12:13:14.015Z | 11 фев. 1987 г. | 1987-02-11T00:00:00.000Z | +| | | 1453-05-29T23:59:59.999Z | 29 мая 1453 г. | 1453-05-29T00:00:00.000Z | +| | PPP | 1987-02-11T12:13:14.015Z | 11 февраля 1987 г. | 1987-02-11T00:00:00.000Z | +| | | 1453-05-29T23:59:59.999Z | 29 мая 1453 г. | 1453-05-29T00:00:00.000Z | +| | PPPP | 1987-02-11T12:13:14.015Z | среда, 11 февраля 1987 г. | 1987-02-11T00:00:00.000Z | +| | | 1453-05-29T23:59:59.999Z | воскресенье, 29 мая 1453 г. | 1453-05-29T00:00:00.000Z | +| Long localized time | p | 1987-02-11T12:13:14.015Z | 12:13 | 1987-02-11T12:13:00.000Z | +| | | 1453-05-29T23:59:59.999Z | 23:59 | 1453-05-29T23:59:00.000Z | +| | pp | 1987-02-11T12:13:14.015Z | 12:13:14 | 1987-02-11T12:13:14.000Z | +| | | 1453-05-29T23:59:59.999Z | 23:59:59 | 1453-05-29T23:59:59.000Z | +| | ppp | 1987-02-11T12:13:14.015Z | 12:13:14 GMT+0 | Errored | +| | | 1453-05-29T23:59:59.999Z | 23:59:59 GMT+0 | Errored | +| | pppp | 1987-02-11T12:13:14.015Z | 12:13:14 GMT+00:00 | Errored | +| | | 1453-05-29T23:59:59.999Z | 23:59:59 GMT+00:00 | Errored | +| Combination of date and time | Pp | 1987-02-11T12:13:14.015Z | 11.02.1987, 12:13 | 1987-02-11T12:13:00.000Z | +| | | 1453-05-29T23:59:59.999Z | 29.05.1453, 23:59 | 1453-05-29T23:59:00.000Z | +| | PPpp | 1987-02-11T12:13:14.015Z | 11 фев. 1987 г., 12:13:14 | 1987-02-11T12:13:14.000Z | +| | | 1453-05-29T23:59:59.999Z | 29 мая 1453 г., 23:59:59 | 1453-05-29T23:59:59.000Z | +| | PPPppp | 1987-02-11T12:13:14.015Z | 11 февраля 1987 г., 12:13:14 GMT+0 | Errored | +| | | 1453-05-29T23:59:59.999Z | 29 мая 1453 г., 23:59:59 GMT+0 | Errored | +| | PPPPpppp | 1987-02-11T12:13:14.015Z | среда, 11 февраля 1987 г., 12:13:14 GMT+00:00 | Errored | +| | | 1453-05-29T23:59:59.999Z | воскресенье, 29 мая 1453 г., 23:59:59 GMT+00:00 | Errored | + +## `formatDistance` + +If now is January 1st, 2000, 00:00. + +| Date | Result | `includeSeconds: true` | `addSuffix: true` | +| ------------------------ | -------------- | ---------------------- | ---------------------------- | +| 2006-01-01T00:00:00.000Z | около 6 лет | около 6 лет | приблизительно через 6 лет | +| 2005-01-01T00:00:00.000Z | около 5 лет | около 5 лет | приблизительно через 5 лет | +| 2004-01-01T00:00:00.000Z | около 4 лет | около 4 лет | приблизительно через 4 года | +| 2003-01-01T00:00:00.000Z | около 3 лет | около 3 лет | приблизительно через 3 года | +| 2002-01-01T00:00:00.000Z | около 2 лет | около 2 лет | приблизительно через 2 года | +| 2001-06-01T00:00:00.000Z | больше 1 года | больше 1 года | больше, чем через 1 год | +| 2001-02-01T00:00:00.000Z | около 1 года | около 1 года | приблизительно через 1 год | +| 2001-01-01T00:00:00.000Z | около 1 года | около 1 года | приблизительно через 1 год | +| 2000-06-01T00:00:00.000Z | 5 месяцев | 5 месяцев | через 5 месяцев | +| 2000-03-01T00:00:00.000Z | 2 месяца | 2 месяца | через 2 месяца | +| 2000-02-01T00:00:00.000Z | около 1 месяца | около 1 месяца | приблизительно через 1 месяц | +| 2000-01-15T00:00:00.000Z | 14 дней | 14 дней | через 14 дней | +| 2000-01-02T00:00:00.000Z | 1 день | 1 день | через 1 день | +| 2000-01-01T06:00:00.000Z | около 6 часов | около 6 часов | приблизительно через 6 часов | +| 2000-01-01T01:00:00.000Z | около 1 часа | около 1 часа | приблизительно через 1 час | +| 2000-01-01T00:45:00.000Z | около 1 часа | около 1 часа | приблизительно через 1 час | +| 2000-01-01T00:30:00.000Z | 30 минут | 30 минут | через 30 минут | +| 2000-01-01T00:15:00.000Z | 15 минут | 15 минут | через 15 минут | +| 2000-01-01T00:01:00.000Z | 1 минута | 1 минута | через 1 минуту | +| 2000-01-01T00:00:25.000Z | меньше минуты | полминуты | меньше, чем через минуту | +| 2000-01-01T00:00:15.000Z | меньше минуты | меньше 20 секунд | меньше, чем через минуту | +| 2000-01-01T00:00:05.000Z | меньше минуты | меньше 10 секунд | меньше, чем через минуту | +| 2000-01-01T00:00:00.000Z | меньше минуты | меньше 5 секунд | меньше минуты назад | +| 1999-12-31T23:59:55.000Z | меньше минуты | меньше 10 секунд | меньше минуты назад | +| 1999-12-31T23:59:45.000Z | меньше минуты | меньше 20 секунд | меньше минуты назад | +| 1999-12-31T23:59:35.000Z | меньше минуты | полминуты | меньше минуты назад | +| 1999-12-31T23:59:00.000Z | 1 минута | 1 минута | 1 минуту назад | +| 1999-12-31T23:45:00.000Z | 15 минут | 15 минут | 15 минут назад | +| 1999-12-31T23:30:00.000Z | 30 минут | 30 минут | 30 минут назад | +| 1999-12-31T23:15:00.000Z | около 1 часа | около 1 часа | около 1 часа назад | +| 1999-12-31T23:00:00.000Z | около 1 часа | около 1 часа | около 1 часа назад | +| 1999-12-31T18:00:00.000Z | около 6 часов | около 6 часов | около 6 часов назад | +| 1999-12-30T00:00:00.000Z | 2 дня | 2 дня | 2 дня назад | +| 1999-12-15T00:00:00.000Z | 17 дней | 17 дней | 17 дней назад | +| 1999-12-01T00:00:00.000Z | около 1 месяца | около 1 месяца | около 1 месяца назад | +| 1999-11-01T00:00:00.000Z | 2 месяца | 2 месяца | 2 месяца назад | +| 1999-06-01T00:00:00.000Z | 7 месяцев | 7 месяцев | 7 месяцев назад | +| 1999-01-01T00:00:00.000Z | около 1 года | около 1 года | около 1 года назад | +| 1998-12-01T00:00:00.000Z | около 1 года | около 1 года | около 1 года назад | +| 1998-06-01T00:00:00.000Z | больше 1 года | больше 1 года | больше 1 года назад | +| 1998-01-01T00:00:00.000Z | около 2 лет | около 2 лет | около 2 лет назад | +| 1997-01-01T00:00:00.000Z | около 3 лет | около 3 лет | около 3 лет назад | +| 1996-01-01T00:00:00.000Z | около 4 лет | около 4 лет | около 4 лет назад | +| 1995-01-01T00:00:00.000Z | около 5 лет | около 5 лет | около 5 лет назад | +| 1994-01-01T00:00:00.000Z | около 6 лет | около 6 лет | около 6 лет назад | + +## `formatDistanceStrict` + +If now is January 1st, 2000, 00:00. + +| Date | Result | `addSuffix: true` | With forced unit (i.e. `hour`) | +| ------------------------ | --------- | ----------------- | ------------------------------ | +| 2006-01-01T00:00:00.000Z | 6 лет | через 6 лет | 52608 часов | +| 2005-01-01T00:00:00.000Z | 5 лет | через 5 лет | 43848 часов | +| 2004-01-01T00:00:00.000Z | 4 года | через 4 года | 35064 часа | +| 2003-01-01T00:00:00.000Z | 3 года | через 3 года | 26304 часа | +| 2002-01-01T00:00:00.000Z | 2 года | через 2 года | 17544 часа | +| 2001-06-01T00:00:00.000Z | 1 год | через 1 год | 12408 часов | +| 2001-02-01T00:00:00.000Z | 1 год | через 1 год | 9528 часов | +| 2001-01-01T00:00:00.000Z | 1 год | через 1 год | 8784 часа | +| 2000-06-01T00:00:00.000Z | 5 месяцев | через 5 месяцев | 3648 часов | +| 2000-03-01T00:00:00.000Z | 2 месяца | через 2 месяца | 1440 часов | +| 2000-02-01T00:00:00.000Z | 1 месяц | через 1 месяц | 744 часа | +| 2000-01-15T00:00:00.000Z | 14 дней | через 14 дней | 336 часов | +| 2000-01-02T00:00:00.000Z | 1 день | через 1 день | 24 часа | +| 2000-01-01T06:00:00.000Z | 6 часов | через 6 часов | 6 часов | +| 2000-01-01T01:00:00.000Z | 1 час | через 1 час | 1 час | +| 2000-01-01T00:45:00.000Z | 45 минут | через 45 минут | 1 час | +| 2000-01-01T00:30:00.000Z | 30 минут | через 30 минут | 1 час | +| 2000-01-01T00:15:00.000Z | 15 минут | через 15 минут | 0 часов | +| 2000-01-01T00:01:00.000Z | 1 минута | через 1 минуту | 0 часов | +| 2000-01-01T00:00:25.000Z | 25 секунд | через 25 секунд | 0 часов | +| 2000-01-01T00:00:15.000Z | 15 секунд | через 15 секунд | 0 часов | +| 2000-01-01T00:00:05.000Z | 5 секунд | через 5 секунд | 0 часов | +| 2000-01-01T00:00:00.000Z | 0 секунд | 0 секунд назад | 0 часов | +| 1999-12-31T23:59:55.000Z | 5 секунд | 5 секунд назад | 0 часов | +| 1999-12-31T23:59:45.000Z | 15 секунд | 15 секунд назад | 0 часов | +| 1999-12-31T23:59:35.000Z | 25 секунд | 25 секунд назад | 0 часов | +| 1999-12-31T23:59:00.000Z | 1 минута | 1 минуту назад | 0 часов | +| 1999-12-31T23:45:00.000Z | 15 минут | 15 минут назад | 0 часов | +| 1999-12-31T23:30:00.000Z | 30 минут | 30 минут назад | 1 час | +| 1999-12-31T23:15:00.000Z | 45 минут | 45 минут назад | 1 час | +| 1999-12-31T23:00:00.000Z | 1 час | 1 час назад | 1 час | +| 1999-12-31T18:00:00.000Z | 6 часов | 6 часов назад | 6 часов | +| 1999-12-30T00:00:00.000Z | 2 дня | 2 дня назад | 48 часов | +| 1999-12-15T00:00:00.000Z | 17 дней | 17 дней назад | 408 часов | +| 1999-12-01T00:00:00.000Z | 1 месяц | 1 месяц назад | 744 часа | +| 1999-11-01T00:00:00.000Z | 2 месяца | 2 месяца назад | 1464 часа | +| 1999-06-01T00:00:00.000Z | 7 месяцев | 7 месяцев назад | 5136 часов | +| 1999-01-01T00:00:00.000Z | 1 год | 1 год назад | 8760 часов | +| 1998-12-01T00:00:00.000Z | 1 год | 1 год назад | 9504 часа | +| 1998-06-01T00:00:00.000Z | 2 года | 2 года назад | 13896 часов | +| 1998-01-01T00:00:00.000Z | 2 года | 2 года назад | 17520 часов | +| 1997-01-01T00:00:00.000Z | 3 года | 3 года назад | 26280 часов | +| 1996-01-01T00:00:00.000Z | 4 года | 4 года назад | 35064 часа | +| 1995-01-01T00:00:00.000Z | 5 лет | 5 лет назад | 43824 часа | +| 1994-01-01T00:00:00.000Z | 6 лет | 6 лет назад | 52584 часа | + +## `formatRelative` + +If now is January 1st, 2000, 00:00. + +| Date | Result | +| ------------------------ | ------------------------ | +| 2000-01-10T00:00:00.000Z | 10.01.2000 | +| 2000-01-05T00:00:00.000Z | в следующую среду в 0:00 | +| 2000-01-02T00:00:00.000Z | завтра в 0:00 | +| 2000-01-01T00:00:00.000Z | сегодня в 0:00 | +| 1999-12-31T00:00:00.000Z | вчера в 0:00 | +| 1999-12-27T00:00:00.000Z | в понедельник в 0:00 | +| 1999-12-21T00:00:00.000Z | 21.12.1999 | |