summaryrefslogtreecommitdiff
path: root/date-fns/src/locale/uk
diff options
context:
space:
mode:
Diffstat (limited to 'date-fns/src/locale/uk')
-rw-r--r--date-fns/src/locale/uk/_lib/formatDistance/index.js247
-rw-r--r--date-fns/src/locale/uk/_lib/formatLong/index.js41
-rw-r--r--date-fns/src/locale/uk/_lib/formatRelative/index.js82
-rw-r--r--date-fns/src/locale/uk/_lib/localize/index.js217
-rw-r--r--date-fns/src/locale/uk/_lib/match/index.js142
-rw-r--r--date-fns/src/locale/uk/index.d.ts4
-rw-r--r--date-fns/src/locale/uk/index.js29
-rw-r--r--date-fns/src/locale/uk/index.js.flow35
-rw-r--r--date-fns/src/locale/uk/snapshot.md304
9 files changed, 1101 insertions, 0 deletions
diff --git a/date-fns/src/locale/uk/_lib/formatDistance/index.js b/date-fns/src/locale/uk/_lib/formatDistance/index.js
new file mode 100644
index 0000000..dcf337b
--- /dev/null
+++ b/date-fns/src/locale/uk/_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/uk/_lib/formatLong/index.js b/date-fns/src/locale/uk/_lib/formatLong/index.js
new file mode 100644
index 0000000..5edcf4c
--- /dev/null
+++ b/date-fns/src/locale/uk/_lib/formatLong/index.js
@@ -0,0 +1,41 @@
+import buildFormatLongFn from '../../../_lib/buildFormatLongFn/index'
+
+var dateFormats = {
+ full: "EEEE, do MMMM y 'р.'",
+ long: "do 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 = {
+ full: "{{date}} 'о' {{time}}",
+ long: "{{date}} 'о' {{time}}",
+ medium: '{{date}}, {{time}}',
+ short: '{{date}}, {{time}}'
+}
+
+var formatLong = {
+ date: buildFormatLongFn({
+ formats: dateFormats,
+ defaultWidth: 'full'
+ }),
+
+ time: buildFormatLongFn({
+ formats: timeFormats,
+ defaultWidth: 'full'
+ }),
+
+ dateTime: buildFormatLongFn({
+ formats: dateTimeFormats,
+ defaultWidth: 'full'
+ })
+}
+
+export default formatLong
diff --git a/date-fns/src/locale/uk/_lib/formatRelative/index.js b/date-fns/src/locale/uk/_lib/formatRelative/index.js
new file mode 100644
index 0000000..1f3c405
--- /dev/null
+++ b/date-fns/src/locale/uk/_lib/formatRelative/index.js
@@ -0,0 +1,82 @@
+import isSameUTCWeek from '../../../../_lib/isSameUTCWeek/index'
+
+var accusativeWeekdays = [
+ 'неділю',
+ 'понеділок',
+ 'вівторок',
+ 'середу',
+ 'четвер',
+ 'п’ятницю',
+ 'суботу'
+]
+
+function lastWeek(day) {
+ var weekday = accusativeWeekdays[day]
+
+ switch (day) {
+ case 0:
+ case 3:
+ case 5:
+ case 6:
+ return "'у минулу " + weekday + " о' p"
+ case 1:
+ case 2:
+ case 4:
+ return "'у минулий " + weekday + " о' p"
+ }
+}
+
+function thisWeek(day) {
+ var weekday = accusativeWeekdays[day]
+
+ return "'у " + weekday + " о' p"
+}
+
+function nextWeek(day) {
+ var weekday = accusativeWeekdays[day]
+
+ switch (day) {
+ case 0:
+ case 3:
+ case 5:
+ case 6:
+ return "'у наступну " + weekday + " о' p"
+ case 1:
+ case 2:
+ case 4:
+ 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/uk/_lib/localize/index.js b/date-fns/src/locale/uk/_lib/localize/index.js
new file mode 100644
index 0000000..ab9c7ff
--- /dev/null
+++ b/date-fns/src/locale/uk/_lib/localize/index.js
@@ -0,0 +1,217 @@
+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 = {
+ // ДСТУ 3582:2013
+ 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') {
+ if (dirtyNumber === 3 || dirtyNumber === 23) {
+ suffix = '-є'
+ } else {
+ suffix = '-е'
+ }
+ } else if (unit === 'minute' || unit === 'second' || unit === 'hour') {
+ 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/uk/_lib/match/index.js b/date-fns/src/locale/uk/_lib/match/index.js
new file mode 100644
index 0000000..863aa59
--- /dev/null
+++ b/date-fns/src/locale/uk/_lib/match/index.js
@@ -0,0 +1,142 @@
+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: /^(неділ[яі]|понеділ[ок][ка]|вівтор[ок][ка]|серед[аи]|четвер(га)?|п\W*?ятниц[яі]|субот[аи])/i
+}
+
+var parseDayPatterns = {
+ narrow: [/^н/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i],
+ any: [/^н/i, /^п[он]/i, /^в/i, /^с[ер]/i, /^ч/i, /^п\W*?[ят]/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/uk/index.d.ts b/date-fns/src/locale/uk/index.d.ts
new file mode 100644
index 0000000..972da88
--- /dev/null
+++ b/date-fns/src/locale/uk/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { uk } from 'date-fns/locale'
+export default uk
diff --git a/date-fns/src/locale/uk/index.js b/date-fns/src/locale/uk/index.js
new file mode 100644
index 0000000..b6274fa
--- /dev/null
+++ b/date-fns/src/locale/uk/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 Ukrainian locale.
+ * @language Ukrainian
+ * @iso-639-2 ukr
+ * @author Andrii Korzh [@korzhyk]{@link https://github.com/korzhyk}
+ * @author Andriy Shcherbyak [@shcherbyakdev]{@link https://github.com/shcherbyakdev}
+ */
+var locale = {
+ code: 'uk',
+ 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/uk/index.js.flow b/date-fns/src/locale/uk/index.js.flow
new file mode 100644
index 0000000..b9dfe66
--- /dev/null
+++ b/date-fns/src/locale/uk/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/uk/snapshot.md b/date-fns/src/locale/uk/snapshot.md
new file mode 100644
index 0000000..d88d4f9
--- /dev/null
+++ b/date-fns/src/locale/uk/snapshot.md
@@ -0,0 +1,304 @@
+# Ukrainian (uk) 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-02-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-02-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 |