diff options
Diffstat (limited to 'date-fns/src/locale/lb')
-rw-r--r-- | date-fns/src/locale/lb/_lib/formatDistance/index.js | 231 | ||||
-rw-r--r-- | date-fns/src/locale/lb/_lib/formatLong/index.js | 42 | ||||
-rw-r--r-- | date-fns/src/locale/lb/_lib/formatRelative/index.js | 27 | ||||
-rw-r--r-- | date-fns/src/locale/lb/_lib/localize/index.js | 167 | ||||
-rw-r--r-- | date-fns/src/locale/lb/_lib/match/index.js | 137 | ||||
-rw-r--r-- | date-fns/src/locale/lb/index.d.ts | 4 | ||||
-rw-r--r-- | date-fns/src/locale/lb/index.js | 28 | ||||
-rw-r--r-- | date-fns/src/locale/lb/index.js.flow | 35 | ||||
-rw-r--r-- | date-fns/src/locale/lb/snapshot.md | 304 |
9 files changed, 975 insertions, 0 deletions
diff --git a/date-fns/src/locale/lb/_lib/formatDistance/index.js b/date-fns/src/locale/lb/_lib/formatDistance/index.js new file mode 100644 index 0000000..3cde42c --- /dev/null +++ b/date-fns/src/locale/lb/_lib/formatDistance/index.js @@ -0,0 +1,231 @@ +var formatDistanceLocale = { + lessThanXSeconds: { + standalone: { + one: 'manner wéi eng Sekonn', + other: 'manner wéi {{count}} Sekonnen' + }, + withPreposition: { + one: 'manner wéi enger Sekonn', + other: 'manner wéi {{count}} Sekonnen' + } + }, + + xSeconds: { + standalone: { + one: 'eng Sekonn', + other: '{{count}} Sekonnen' + }, + withPreposition: { + one: 'enger Sekonn', + other: '{{count}} Sekonnen' + } + }, + + halfAMinute: { + standalone: 'eng hallef Minutt', + withPreposition: 'enger hallwer Minutt' + }, + + lessThanXMinutes: { + standalone: { + one: 'manner wéi eng Minutt', + other: 'manner wéi {{count}} Minutten' + }, + withPreposition: { + one: 'manner wéi enger Minutt', + other: 'manner wéi {{count}} Minutten' + } + }, + + xMinutes: { + standalone: { + one: 'eng Minutt', + other: '{{count}} Minutten' + }, + withPreposition: { + one: 'enger Minutt', + other: '{{count}} Minutten' + } + }, + + aboutXHours: { + standalone: { + one: 'ongeféier eng Stonn', + other: 'ongeféier {{count}} Stonnen' + }, + withPreposition: { + one: 'ongeféier enger Stonn', + other: 'ongeféier {{count}} Stonnen' + } + }, + + xHours: { + standalone: { + one: 'eng Stonn', + other: '{{count}} Stonnen' + }, + withPreposition: { + one: 'enger Stonn', + other: '{{count}} Stonnen' + } + }, + + xDays: { + standalone: { + one: 'een Dag', + other: '{{count}} Deeg' + }, + withPreposition: { + one: 'engem Dag', + other: '{{count}} Deeg' + } + }, + + aboutXWeeks: { + standalone: { + one: 'ongeféier eng Woch', + other: 'ongeféier {{count}} Wochen' + }, + withPreposition: { + one: 'ongeféier enger Woche', + other: 'ongeféier {{count}} Wochen' + } + }, + + xWeeks: { + standalone: { + one: 'eng Woch', + other: '{{count}} Wochen' + }, + withPreposition: { + one: 'enger Woch', + other: '{{count}} Wochen' + } + }, + + aboutXMonths: { + standalone: { + one: 'ongeféier ee Mount', + other: 'ongeféier {{count}} Méint' + }, + withPreposition: { + one: 'ongeféier engem Mount', + other: 'ongeféier {{count}} Méint' + } + }, + + xMonths: { + standalone: { + one: 'ee Mount', + other: '{{count}} Méint' + }, + withPreposition: { + one: 'engem Mount', + other: '{{count}} Méint' + } + }, + + aboutXYears: { + standalone: { + one: 'ongeféier ee Joer', + other: 'ongeféier {{count}} Joer' + }, + withPreposition: { + one: 'ongeféier engem Joer', + other: 'ongeféier {{count}} Joer' + } + }, + + xYears: { + standalone: { + one: 'ee Joer', + other: '{{count}} Joer' + }, + withPreposition: { + one: 'engem Joer', + other: '{{count}} Joer' + } + }, + + overXYears: { + standalone: { + one: 'méi wéi ee Joer', + other: 'méi wéi {{count}} Joer' + }, + withPreposition: { + one: 'méi wéi engem Joer', + other: 'méi wéi {{count}} Joer' + } + }, + + almostXYears: { + standalone: { + one: 'bal ee Joer', + other: 'bal {{count}} Joer' + }, + withPreposition: { + one: 'bal engem Joer', + other: 'bal {{count}} Joer' + } + } +} + +var EXCEPTION_CONSONANTS = ['d', 'h', 'n', 't', 'z'] +var VOWELS = ['a,', 'e', 'i', 'o', 'u'] +var DIGITS_SPOKEN_N_NEEDED = [0, 1, 2, 3, 8, 9] +var FIRST_TWO_DIGITS_SPOKEN_NO_N_NEEDED = [40, 50, 60, 70] + +// Eifeler Regel +function isFinalNNeeded(nextWords) { + var firstLetter = nextWords.charAt(0).toLowerCase() + if ( + VOWELS.indexOf(firstLetter) != -1 || + EXCEPTION_CONSONANTS.indexOf(firstLetter) != -1 + ) { + return true + } + + // Numbers would need to converted into words for checking. + // Therefore, I have listed the digits that require a preceeding n with a few exceptions. + var firstWord = nextWords.split(' ')[0] + var number = parseInt(firstWord) + if ( + !isNaN(number) && + DIGITS_SPOKEN_N_NEEDED.indexOf(number % 10) != -1 && + FIRST_TWO_DIGITS_SPOKEN_NO_N_NEEDED.indexOf( + parseInt(firstWord.substring(0, 2)) + ) == -1 + ) { + return true + } + + // Omit other checks as they are not expected here. + return false +} + +export default function formatDistance(token, count, options) { + options = options || {} + + var usageGroup = options.addSuffix + ? formatDistanceLocale[token].withPreposition + : formatDistanceLocale[token].standalone + + var result + if (typeof usageGroup === 'string') { + result = usageGroup + } else if (count === 1) { + result = usageGroup.one + } else { + result = usageGroup.other.replace('{{count}}', count) + } + + if (options.addSuffix) { + if (options.comparison > 0) { + return 'a' + (isFinalNNeeded(result) ? 'n' : '') + ' ' + result + } else { + return 'viru' + (isFinalNNeeded(result) ? 'n' : '') + ' ' + result + } + } + + return result +} diff --git a/date-fns/src/locale/lb/_lib/formatLong/index.js b/date-fns/src/locale/lb/_lib/formatLong/index.js new file mode 100644 index 0000000..fd4a4ed --- /dev/null +++ b/date-fns/src/locale/lb/_lib/formatLong/index.js @@ -0,0 +1,42 @@ +import buildFormatLongFn from '../../../_lib/buildFormatLongFn/index' + +// DIN 5008: https://de.wikipedia.org/wiki/Datumsformat#DIN_5008 +var dateFormats = { + full: 'EEEE, do MMMM y', // Méindeg, 7. Januar 2018 + long: 'do MMMM y', // 7. Januar 2018 + medium: 'do MMM y', // 7. Jan 2018 + short: 'dd.MM.yy' // 07.01.18 +} + +var timeFormats = { + full: 'HH:mm:ss zzzz', + long: 'HH:mm:ss z', + medium: 'HH:mm:ss', + short: 'HH:mm' +} + +var dateTimeFormats = { + full: "{{date}} 'um' {{time}}", + long: "{{date}} 'um' {{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/lb/_lib/formatRelative/index.js b/date-fns/src/locale/lb/_lib/formatRelative/index.js new file mode 100644 index 0000000..75062cb --- /dev/null +++ b/date-fns/src/locale/lb/_lib/formatRelative/index.js @@ -0,0 +1,27 @@ +var formatRelativeLocale = { + lastWeek: function(date) { + var day = date.getUTCDay() + var result = "'läschte" + if (day === 2 || day === 4) { + // Eifeler Regel: Add an n before the consonant d; Here "Dënschdeg" "and Donneschde". + result += 'n' + } + result += "' eeee 'um' p" + return result + }, + yesterday: "'gëschter um' p", + today: "'haut um' p", + tomorrow: "'moien um' p", + nextWeek: "eeee 'um' p", + other: 'P' +} + +export default function formatRelative(token, date, _baseDate, _options) { + var format = formatRelativeLocale[token] + + if (typeof format === 'function') { + return format(date) + } + + return format +} diff --git a/date-fns/src/locale/lb/_lib/localize/index.js b/date-fns/src/locale/lb/_lib/localize/index.js new file mode 100644 index 0000000..33ee0b1 --- /dev/null +++ b/date-fns/src/locale/lb/_lib/localize/index.js @@ -0,0 +1,167 @@ +import buildLocalizeFn from '../../../_lib/buildLocalizeFn/index' + +var eraValues = { + narrow: ['v.Chr.', 'n.Chr.'], + abbreviated: ['v.Chr.', 'n.Chr.'], + wide: ['viru Christus', 'no Christus'] +} + +var quarterValues = { + narrow: ['1', '2', '3', '4'], + abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'], + wide: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal'] +} + +var monthValues = { + narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + abbreviated: [ + 'Jan', + 'Feb', + 'Mäe', + 'Abr', + 'Mee', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Okt', + 'Nov', + 'Dez' + ], + wide: [ + 'Januar', + 'Februar', + 'Mäerz', + 'Abrëll', + 'Mee', + 'Juni', + 'Juli', + 'August', + 'September', + 'Oktober', + 'November', + 'Dezember' + ] +} + +var dayValues = { + narrow: ['S', 'M', 'D', 'M', 'D', 'F', 'S'], + short: ['So', 'Mé', 'Dë', 'Më', 'Do', 'Fr', 'Sa'], + abbreviated: ['So.', 'Mé.', 'Dë.', 'Më.', 'Do.', 'Fr.', 'Sa.'], + wide: [ + 'Sonndeg', + 'Méindeg', + 'Dënschdeg', + 'Mëttwoch', + 'Donneschdeg', + 'Freideg', + 'Samschdeg' + ] +} + +var dayPeriodValues = { + narrow: { + am: 'mo.', + pm: 'nomë.', + midnight: 'Mëtternuecht', + noon: 'Mëtteg', + morning: 'Moien', + afternoon: 'Nomëtteg', + evening: 'Owend', + night: 'Nuecht' + }, + abbreviated: { + am: 'moies', + pm: 'nomëttes', + midnight: 'Mëtternuecht', + noon: 'Mëtteg', + morning: 'Moien', + afternoon: 'Nomëtteg', + evening: 'Owend', + night: 'Nuecht' + }, + wide: { + am: 'moies', + pm: 'nomëttes', + midnight: 'Mëtternuecht', + noon: 'Mëtteg', + morning: 'Moien', + afternoon: 'Nomëtteg', + evening: 'Owend', + night: 'Nuecht' + } +} +var formattingDayPeriodValues = { + narrow: { + am: 'mo.', + pm: 'nom.', + midnight: 'Mëtternuecht', + noon: 'mëttes', + morning: 'moies', + afternoon: 'nomëttes', + evening: 'owes', + night: 'nuets' + }, + abbreviated: { + am: 'moies', + pm: 'nomëttes', + midnight: 'Mëtternuecht', + noon: 'mëttes', + morning: 'moies', + afternoon: 'nomëttes', + evening: 'owes', + night: 'nuets' + }, + wide: { + am: 'moies', + pm: 'nomëttes', + midnight: 'Mëtternuecht', + noon: 'mëttes', + morning: 'moies', + afternoon: 'nomëttes', + evening: 'owes', + night: 'nuets' + } +} + +function ordinalNumber(dirtyNumber, _dirtyOptions) { + var number = Number(dirtyNumber) + + return number + '.' +} + +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' + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: 'wide' + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: 'wide', + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: 'wide' + }) +} + +export default localize diff --git a/date-fns/src/locale/lb/_lib/match/index.js b/date-fns/src/locale/lb/_lib/match/index.js new file mode 100644 index 0000000..5935d86 --- /dev/null +++ b/date-fns/src/locale/lb/_lib/match/index.js @@ -0,0 +1,137 @@ +import buildMatchPatternFn from '../../../_lib/buildMatchPatternFn/index' +import buildMatchFn from '../../../_lib/buildMatchFn/index' + +var matchOrdinalNumberPattern = /^(\d+)(\.)?/i +var parseOrdinalNumberPattern = /\d+/i + +var matchEraPatterns = { + narrow: /^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i, + abbreviated: /^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i, + wide: /^(viru Christus|virun eiser Zäitrechnung|no Christus|eiser Zäitrechnung)/i +} +var parseEraPatterns = { + any: [/^v/i, /^n/i] +} + +var matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^[1234](\.)? Quartal/i +} +var parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i] +} + +var matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan|feb|mäe|abr|mee|jun|jul|aug|sep|okt|nov|dez)/i, + wide: /^(januar|februar|mäerz|abrëll|mee|juni|juli|august|september|oktober|november|dezember)/i +} +var parseMonthPatterns = { + narrow: [ + /^j/i, + /^f/i, + /^m/i, + /^a/i, + /^m/i, + /^j/i, + /^j/i, + /^a/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i + ], + any: [ + /^ja/i, + /^f/i, + /^mä/i, + /^ab/i, + /^me/i, + /^jun/i, + /^jul/i, + /^au/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i + ] +} + +var matchDayPatterns = { + narrow: /^[smdf]/i, + short: /^(so|mé|dë|më|do|fr|sa)/i, + abbreviated: /^(son?|méi?|dën?|mët?|don?|fre?|sam?)\.?/i, + wide: /^(sonndeg|méindeg|dënschdeg|mëttwoch|donneschdeg|freideg|samschdeg)/i +} +var parseDayPatterns = { + any: [/^so/i, /^mé/i, /^dë/i, /^më/i, /^do/i, /^f/i, /^sa/i] +} + +var matchDayPeriodPatterns = { + narrow: /^(mo\.?|nomë\.?|Mëtternuecht|mëttes|moies|nomëttes|owes|nuets)/i, + abbreviated: /^(moi\.?|nomët\.?|Mëtternuecht|mëttes|moies|nomëttes|owes|nuets)/i, + wide: /^(moies|nomëttes|Mëtternuecht|mëttes|moies|nomëttes|owes|nuets)/i +} +var parseDayPeriodPatterns = { + any: { + am: /^m/i, + pm: /^n/i, + midnight: /^Mëtter/i, + noon: /^mëttes/i, + morning: /moies/i, + afternoon: /nomëttes/i, // will never be matched. Afternoon is matched by `pm` + evening: /owes/i, + night: /nuets/i // will never be matched. Night is matched by `pm` + } +} + +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/lb/index.d.ts b/date-fns/src/locale/lb/index.d.ts new file mode 100644 index 0000000..727529b --- /dev/null +++ b/date-fns/src/locale/lb/index.d.ts @@ -0,0 +1,4 @@ +// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it. + +import { lb } from 'date-fns/locale' +export default lb diff --git a/date-fns/src/locale/lb/index.js b/date-fns/src/locale/lb/index.js new file mode 100644 index 0000000..25c95c2 --- /dev/null +++ b/date-fns/src/locale/lb/index.js @@ -0,0 +1,28 @@ +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 Luxembourgish locale. + * @language Luxembourgish + * @iso-639-2 ltz + * @author Daniel Waxweiler [@dwaxweiler]{@link https://github.com/dwaxweiler} + */ +var locale = { + code: 'lb', + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4 + } +} + +export default locale diff --git a/date-fns/src/locale/lb/index.js.flow b/date-fns/src/locale/lb/index.js.flow new file mode 100644 index 0000000..b9dfe66 --- /dev/null +++ b/date-fns/src/locale/lb/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/lb/snapshot.md b/date-fns/src/locale/lb/snapshot.md new file mode 100644 index 0000000..0820db5 --- /dev/null +++ b/date-fns/src/locale/lb/snapshot.md @@ -0,0 +1,304 @@ +# Luxembourgish (lb) 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 | 4. | 0003-12-29T00: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 | Q1 | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | Q2 | 2019-04-01T00:00:00.000Z | +| | QQQQ | 2019-01-01T12:13:14.015Z | 1. Quartal | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | 2. Quartal | 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 | Q1 | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | Q2 | 2019-04-01T00:00:00.000Z | +| | qqqq | 2019-01-01T12:13:14.015Z | 1. Quartal | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | 2. Quartal | 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 | Feb | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | Jul | 2019-07-01T00:00:00.000Z | +| | MMMM | 2019-02-11T12:13:14.015Z | Februar | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | Juli | 2019-07-01T00:00:00.000Z | +| | MMMMM | 2019-02-11T12:13:14.015Z | F | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | J | 2019-01-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 | Feb | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | Jul | 2019-07-01T00:00:00.000Z | +| | LLLL | 2019-02-11T12:13:14.015Z | Februar | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | Juli | 2019-07-01T00:00:00.000Z | +| | LLLLL | 2019-02-11T12:13:14.015Z | F | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | J | 2019-01-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 | Mé. | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | Fr. | 2019-02-15T00:00:00.000Z | +| | EE | 2019-02-11T12:13:14.015Z | Mé. | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | Fr. | 2019-02-15T00:00:00.000Z | +| | EEE | 2019-02-11T12:13:14.015Z | Mé. | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | Fr. | 2019-02-15T00:00:00.000Z | +| | EEEE | 2019-02-11T12:13:14.015Z | Méindeg | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | Freideg | 2019-02-15T00:00:00.000Z | +| | EEEEE | 2019-02-11T12:13:14.015Z | M | Invalid Date | +| | | 2019-02-15T12:13:14.015Z | F | 2019-02-15T00:00:00.000Z | +| | EEEEEE | 2019-02-11T12:13:14.015Z | Mé | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | Fr | 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 | Mé. | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | Fr. | 2019-02-15T00:00:00.000Z | +| | iiii | 2019-02-11T12:13:14.015Z | Méindeg | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | Freideg | 2019-02-15T00:00:00.000Z | +| | iiiii | 2019-02-11T12:13:14.015Z | M | Invalid Date | +| | | 2019-02-15T12:13:14.015Z | F | 2019-02-15T00:00:00.000Z | +| | iiiiii | 2019-02-11T12:13:14.015Z | Mé | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | Fr | 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 | Mé. | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | Fr. | 2019-02-15T00:00:00.000Z | +| | eeee | 2019-02-11T12:13:14.015Z | Méindeg | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | Freideg | 2019-02-15T00:00:00.000Z | +| | eeeee | 2019-02-11T12:13:14.015Z | M | Invalid Date | +| | | 2019-02-15T12:13:14.015Z | F | 2019-02-15T00:00:00.000Z | +| | eeeeee | 2019-02-11T12:13:14.015Z | Mé | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | Fr | 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 | Mé. | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | Fr. | 2019-02-15T00:00:00.000Z | +| | cccc | 2019-02-11T12:13:14.015Z | Méindeg | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | Freideg | 2019-02-15T00:00:00.000Z | +| | ccccc | 2019-02-11T12:13:14.015Z | M | Invalid Date | +| | | 2019-02-15T12:13:14.015Z | F | 2019-02-15T00:00:00.000Z | +| | cccccc | 2019-02-11T12:13:14.015Z | Mé | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | Fr | 2019-02-15T00:00:00.000Z | +| AM, PM | a | 2019-02-11T11:13:14.015Z | moies | Invalid Date | +| | | 2019-02-11T14:13:14.015Z | nomëttes | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | nomëttes | Invalid Date | +| | | 2019-02-11T02:13:14.015Z | moies | Invalid Date | +| | aa | 2019-02-11T11:13:14.015Z | moies | Invalid Date | +| | | 2019-02-11T14:13:14.015Z | nomëttes | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | nomëttes | Invalid Date | +| | | 2019-02-11T02:13:14.015Z | moies | Invalid Date | +| | aaa | 2019-02-11T11:13:14.015Z | moies | Invalid Date | +| | | 2019-02-11T14:13:14.015Z | nomëttes | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | nomëttes | Invalid Date | +| | | 2019-02-11T02:13:14.015Z | moies | Invalid Date | +| | aaaa | 2019-02-11T11:13:14.015Z | moies | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | nomëttes | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | nomëttes | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | moies | 2019-02-11T00:00:00.000Z | +| | aaaaa | 2019-02-11T11:13:14.015Z | mo. | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | nom. | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | nom. | Invalid Date | +| | | 2019-02-11T02:13:14.015Z | mo. | 2019-02-11T00:00:00.000Z | +| AM, PM, noon, midnight | b | 2019-02-11T11:13:14.015Z | moies | Invalid Date | +| | | 2019-02-11T14:13:14.015Z | nomëttes | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | nomëttes | Invalid Date | +| | | 2019-02-11T02:13:14.015Z | moies | Invalid Date | +| | bb | 2019-02-11T11:13:14.015Z | moies | Invalid Date | +| | | 2019-02-11T14:13:14.015Z | nomëttes | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | nomëttes | Invalid Date | +| | | 2019-02-11T02:13:14.015Z | moies | Invalid Date | +| | bbb | 2019-02-11T11:13:14.015Z | moies | Invalid Date | +| | | 2019-02-11T14:13:14.015Z | nomëttes | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | nomëttes | Invalid Date | +| | | 2019-02-11T02:13:14.015Z | moies | Invalid Date | +| | bbbb | 2019-02-11T11:13:14.015Z | moies | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | nomëttes | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | nomëttes | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | moies | 2019-02-11T00:00:00.000Z | +| | bbbbb | 2019-02-11T11:13:14.015Z | mo. | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | nom. | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | nom. | Invalid Date | +| | | 2019-02-11T02:13:14.015Z | mo. | 2019-02-11T00:00:00.000Z | +| Flexible day period | B | 2019-02-11T11:13:14.015Z | moies | Invalid Date | +| | | 2019-02-11T14:13:14.015Z | nomëttes | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | owes | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | nuets | 2019-02-11T12:00:00.000Z | +| | BB | 2019-02-11T11:13:14.015Z | moies | Invalid Date | +| | | 2019-02-11T14:13:14.015Z | nomëttes | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | owes | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | nuets | 2019-02-11T12:00:00.000Z | +| | BBB | 2019-02-11T11:13:14.015Z | moies | Invalid Date | +| | | 2019-02-11T14:13:14.015Z | nomëttes | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | owes | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | nuets | 2019-02-11T12:00:00.000Z | +| | BBBB | 2019-02-11T11:13:14.015Z | moies | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | nomëttes | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | owes | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | nuets | 2019-02-11T12:00:00.000Z | +| | BBBBB | 2019-02-11T11:13:14.015Z | moies | Invalid Date | +| | | 2019-02-11T14:13:14.015Z | nomëttes | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | owes | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | nuets | 2019-02-11T12: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.87 | 1987-02-11T00:00:00.000Z | +| | | 1453-05-29T23:59:59.999Z | 29.05.53 | 1453-05-29T00:00:00.000Z | +| | PP | 1987-02-11T12:13:14.015Z | 11. Feb 1987 | 1987-02-11T00:00:00.000Z | +| | | 1453-05-29T23:59:59.999Z | 29. Mee 1453 | 1453-05-29T00:00:00.000Z | +| | PPP | 1987-02-11T12:13:14.015Z | 11. Februar 1987 | 1987-02-11T00:00:00.000Z | +| | | 1453-05-29T23:59:59.999Z | 29. Mee 1453 | 1453-05-29T00:00:00.000Z | +| | PPPP | 1987-02-11T12:13:14.015Z | Mëttwoch, 11. Februar 1987 | 1987-02-11T00:00:00.000Z | +| | | 1453-05-29T23:59:59.999Z | Sonndeg, 29. Mee 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.87 12:13 | 1987-02-11T12:13:00.000Z | +| | | 1453-05-29T23:59:59.999Z | 29.05.53 23:59 | 1453-05-29T23:59:00.000Z | +| | PPpp | 1987-02-11T12:13:14.015Z | 11. Feb 1987 12:13:14 | 1987-02-11T12:13:14.000Z | +| | | 1453-05-29T23:59:59.999Z | 29. Mee 1453 23:59:59 | 1453-05-29T23:59:59.000Z | +| | PPPppp | 1987-02-11T12:13:14.015Z | 11. Februar 1987 um 12:13:14 GMT+0 | Errored | +| | | 1453-05-29T23:59:59.999Z | 29. Mee 1453 um 23:59:59 GMT+0 | Errored | +| | PPPPpppp | 1987-02-11T12:13:14.015Z | Mëttwoch, 11. Februar 1987 um 12:13:14 GMT+00:00 | Errored | +| | | 1453-05-29T23:59:59.999Z | Sonndeg, 29. Mee 1453 um 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 | ongeféier 6 Joer | ongeféier 6 Joer | an ongeféier 6 Joer | +| 2005-01-01T00:00:00.000Z | ongeféier 5 Joer | ongeféier 5 Joer | an ongeféier 5 Joer | +| 2004-01-01T00:00:00.000Z | ongeféier 4 Joer | ongeféier 4 Joer | an ongeféier 4 Joer | +| 2003-01-01T00:00:00.000Z | ongeféier 3 Joer | ongeféier 3 Joer | an ongeféier 3 Joer | +| 2002-01-01T00:00:00.000Z | ongeféier 2 Joer | ongeféier 2 Joer | an ongeféier 2 Joer | +| 2001-06-01T00:00:00.000Z | méi wéi ee Joer | méi wéi ee Joer | a méi wéi engem Joer | +| 2001-02-01T00:00:00.000Z | ongeféier ee Joer | ongeféier ee Joer | an ongeféier engem Joer | +| 2001-01-01T00:00:00.000Z | ongeféier ee Joer | ongeféier ee Joer | an ongeféier engem Joer | +| 2000-06-01T00:00:00.000Z | 5 Méint | 5 Méint | a 5 Méint | +| 2000-03-01T00:00:00.000Z | 2 Méint | 2 Méint | an 2 Méint | +| 2000-02-01T00:00:00.000Z | ongeféier ee Mount | ongeféier ee Mount | an ongeféier engem Mount | +| 2000-01-15T00:00:00.000Z | 14 Deeg | 14 Deeg | a 14 Deeg | +| 2000-01-02T00:00:00.000Z | een Dag | een Dag | an engem Dag | +| 2000-01-01T06:00:00.000Z | ongeféier 6 Stonnen | ongeféier 6 Stonnen | an ongeféier 6 Stonnen | +| 2000-01-01T01:00:00.000Z | ongeféier eng Stonn | ongeféier eng Stonn | an ongeféier enger Stonn | +| 2000-01-01T00:45:00.000Z | ongeféier eng Stonn | ongeféier eng Stonn | an ongeféier enger Stonn | +| 2000-01-01T00:30:00.000Z | 30 Minutten | 30 Minutten | an 30 Minutten | +| 2000-01-01T00:15:00.000Z | 15 Minutten | 15 Minutten | a 15 Minutten | +| 2000-01-01T00:01:00.000Z | eng Minutt | eng Minutt | an enger Minutt | +| 2000-01-01T00:00:25.000Z | manner wéi eng Minutt | eng hallef Minutt | a manner wéi enger Minutt | +| 2000-01-01T00:00:15.000Z | manner wéi eng Minutt | manner wéi 20 Sekonnen | a manner wéi enger Minutt | +| 2000-01-01T00:00:05.000Z | manner wéi eng Minutt | manner wéi 10 Sekonnen | a manner wéi enger Minutt | +| 2000-01-01T00:00:00.000Z | manner wéi eng Minutt | manner wéi 5 Sekonnen | viru manner wéi enger Minutt | +| 1999-12-31T23:59:55.000Z | manner wéi eng Minutt | manner wéi 10 Sekonnen | viru manner wéi enger Minutt | +| 1999-12-31T23:59:45.000Z | manner wéi eng Minutt | manner wéi 20 Sekonnen | viru manner wéi enger Minutt | +| 1999-12-31T23:59:35.000Z | manner wéi eng Minutt | eng hallef Minutt | viru manner wéi enger Minutt | +| 1999-12-31T23:59:00.000Z | eng Minutt | eng Minutt | virun enger Minutt | +| 1999-12-31T23:45:00.000Z | 15 Minutten | 15 Minutten | viru 15 Minutten | +| 1999-12-31T23:30:00.000Z | 30 Minutten | 30 Minutten | virun 30 Minutten | +| 1999-12-31T23:15:00.000Z | ongeféier eng Stonn | ongeféier eng Stonn | virun ongeféier enger Stonn | +| 1999-12-31T23:00:00.000Z | ongeféier eng Stonn | ongeféier eng Stonn | virun ongeféier enger Stonn | +| 1999-12-31T18:00:00.000Z | ongeféier 6 Stonnen | ongeféier 6 Stonnen | virun ongeféier 6 Stonnen | +| 1999-12-30T00:00:00.000Z | 2 Deeg | 2 Deeg | virun 2 Deeg | +| 1999-12-15T00:00:00.000Z | 17 Deeg | 17 Deeg | viru 17 Deeg | +| 1999-12-01T00:00:00.000Z | ongeféier ee Mount | ongeféier ee Mount | virun ongeféier engem Mount | +| 1999-11-01T00:00:00.000Z | 2 Méint | 2 Méint | virun 2 Méint | +| 1999-06-01T00:00:00.000Z | 7 Méint | 7 Méint | viru 7 Méint | +| 1999-01-01T00:00:00.000Z | ongeféier ee Joer | ongeféier ee Joer | virun ongeféier engem Joer | +| 1998-12-01T00:00:00.000Z | ongeféier ee Joer | ongeféier ee Joer | virun ongeféier engem Joer | +| 1998-06-01T00:00:00.000Z | méi wéi ee Joer | méi wéi ee Joer | viru méi wéi engem Joer | +| 1998-01-01T00:00:00.000Z | ongeféier 2 Joer | ongeféier 2 Joer | virun ongeféier 2 Joer | +| 1997-01-01T00:00:00.000Z | ongeféier 3 Joer | ongeféier 3 Joer | virun ongeféier 3 Joer | +| 1996-01-01T00:00:00.000Z | ongeféier 4 Joer | ongeféier 4 Joer | virun ongeféier 4 Joer | +| 1995-01-01T00:00:00.000Z | ongeféier 5 Joer | ongeféier 5 Joer | virun ongeféier 5 Joer | +| 1994-01-01T00:00:00.000Z | ongeféier 6 Joer | ongeféier 6 Joer | virun ongeféier 6 Joer | + +## `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 Joer | a 6 Joer | 52608 Stonnen | +| 2005-01-01T00:00:00.000Z | 5 Joer | a 5 Joer | 43848 Stonnen | +| 2004-01-01T00:00:00.000Z | 4 Joer | a 4 Joer | 35064 Stonnen | +| 2003-01-01T00:00:00.000Z | 3 Joer | an 3 Joer | 26304 Stonnen | +| 2002-01-01T00:00:00.000Z | 2 Joer | an 2 Joer | 17544 Stonnen | +| 2001-06-01T00:00:00.000Z | ee Joer | an engem Joer | 12408 Stonnen | +| 2001-02-01T00:00:00.000Z | ee Joer | an engem Joer | 9528 Stonnen | +| 2001-01-01T00:00:00.000Z | ee Joer | an engem Joer | 8784 Stonnen | +| 2000-06-01T00:00:00.000Z | 5 Méint | a 5 Méint | 3648 Stonnen | +| 2000-03-01T00:00:00.000Z | 2 Méint | an 2 Méint | 1440 Stonnen | +| 2000-02-01T00:00:00.000Z | ee Mount | an engem Mount | 744 Stonnen | +| 2000-01-15T00:00:00.000Z | 14 Deeg | a 14 Deeg | 336 Stonnen | +| 2000-01-02T00:00:00.000Z | een Dag | an engem Dag | 24 Stonnen | +| 2000-01-01T06:00:00.000Z | 6 Stonnen | a 6 Stonnen | 6 Stonnen | +| 2000-01-01T01:00:00.000Z | eng Stonn | an enger Stonn | eng Stonn | +| 2000-01-01T00:45:00.000Z | 45 Minutten | a 45 Minutten | eng Stonn | +| 2000-01-01T00:30:00.000Z | 30 Minutten | an 30 Minutten | eng Stonn | +| 2000-01-01T00:15:00.000Z | 15 Minutten | a 15 Minutten | 0 Stonnen | +| 2000-01-01T00:01:00.000Z | eng Minutt | an enger Minutt | 0 Stonnen | +| 2000-01-01T00:00:25.000Z | 25 Sekonnen | a 25 Sekonnen | 0 Stonnen | +| 2000-01-01T00:00:15.000Z | 15 Sekonnen | a 15 Sekonnen | 0 Stonnen | +| 2000-01-01T00:00:05.000Z | 5 Sekonnen | a 5 Sekonnen | 0 Stonnen | +| 2000-01-01T00:00:00.000Z | 0 Sekonnen | virun 0 Sekonnen | 0 Stonnen | +| 1999-12-31T23:59:55.000Z | 5 Sekonnen | viru 5 Sekonnen | 0 Stonnen | +| 1999-12-31T23:59:45.000Z | 15 Sekonnen | viru 15 Sekonnen | 0 Stonnen | +| 1999-12-31T23:59:35.000Z | 25 Sekonnen | viru 25 Sekonnen | 0 Stonnen | +| 1999-12-31T23:59:00.000Z | eng Minutt | virun enger Minutt | 0 Stonnen | +| 1999-12-31T23:45:00.000Z | 15 Minutten | viru 15 Minutten | 0 Stonnen | +| 1999-12-31T23:30:00.000Z | 30 Minutten | virun 30 Minutten | eng Stonn | +| 1999-12-31T23:15:00.000Z | 45 Minutten | viru 45 Minutten | eng Stonn | +| 1999-12-31T23:00:00.000Z | eng Stonn | virun enger Stonn | eng Stonn | +| 1999-12-31T18:00:00.000Z | 6 Stonnen | viru 6 Stonnen | 6 Stonnen | +| 1999-12-30T00:00:00.000Z | 2 Deeg | virun 2 Deeg | 48 Stonnen | +| 1999-12-15T00:00:00.000Z | 17 Deeg | viru 17 Deeg | 408 Stonnen | +| 1999-12-01T00:00:00.000Z | ee Mount | virun engem Mount | 744 Stonnen | +| 1999-11-01T00:00:00.000Z | 2 Méint | virun 2 Méint | 1464 Stonnen | +| 1999-06-01T00:00:00.000Z | 7 Méint | viru 7 Méint | 5136 Stonnen | +| 1999-01-01T00:00:00.000Z | ee Joer | virun engem Joer | 8760 Stonnen | +| 1998-12-01T00:00:00.000Z | ee Joer | virun engem Joer | 9504 Stonnen | +| 1998-06-01T00:00:00.000Z | 2 Joer | virun 2 Joer | 13896 Stonnen | +| 1998-01-01T00:00:00.000Z | 2 Joer | virun 2 Joer | 17520 Stonnen | +| 1997-01-01T00:00:00.000Z | 3 Joer | virun 3 Joer | 26280 Stonnen | +| 1996-01-01T00:00:00.000Z | 4 Joer | viru 4 Joer | 35064 Stonnen | +| 1995-01-01T00:00:00.000Z | 5 Joer | viru 5 Joer | 43824 Stonnen | +| 1994-01-01T00:00:00.000Z | 6 Joer | viru 6 Joer | 52584 Stonnen | + +## `formatRelative` + +If now is January 1st, 2000, 00:00. + +| Date | Result | +| ------------------------ | ------------------------ | +| 2000-01-10T00:00:00.000Z | 10.01.00 | +| 2000-01-05T00:00:00.000Z | Mëttwoch um 00:00 | +| 2000-01-02T00:00:00.000Z | moien um 00:00 | +| 2000-01-01T00:00:00.000Z | haut um 00:00 | +| 1999-12-31T00:00:00.000Z | gëschter um 00:00 | +| 1999-12-27T00:00:00.000Z | läschte Méindeg um 00:00 | +| 1999-12-21T00:00:00.000Z | 21.12.99 | |