From 3fdb2c840319826bb72b79121ff3fd68fcd3b637 Mon Sep 17 00:00:00 2001 From: Alex Hoeing Date: Fri, 17 Jul 2020 16:10:42 +0200 Subject: [PATCH] Add Flemish (nl-BE) locale (#1812) --- outdatedLocales.json | 2 +- src/locale/index.js | 1 + src/locale/nl-BE/_lib/formatDistance/index.js | 86 +++++ src/locale/nl-BE/_lib/formatLong/index.js | 45 ++- src/locale/nl-BE/_lib/formatRelative/index.js | 12 + src/locale/nl-BE/_lib/localize/index.js | 132 ++++++++ src/locale/nl-BE/_lib/match/index.js | 136 ++++++++ src/locale/nl-BE/index.js | 44 ++- src/locale/nl-BE/snapshot.md | 304 ++++++++++++++++++ 9 files changed, 728 insertions(+), 34 deletions(-) create mode 100644 src/locale/nl-BE/_lib/formatDistance/index.js create mode 100644 src/locale/nl-BE/_lib/formatRelative/index.js create mode 100644 src/locale/nl-BE/_lib/localize/index.js create mode 100644 src/locale/nl-BE/_lib/match/index.js create mode 100644 src/locale/nl-BE/snapshot.md diff --git a/outdatedLocales.json b/outdatedLocales.json index d84becf780..af125885e8 100644 --- a/outdatedLocales.json +++ b/outdatedLocales.json @@ -1 +1 @@ -["ar", "fil", "nl-BE"] +["ar", "fil"] \ No newline at end of file diff --git a/src/locale/index.js b/src/locale/index.js index 0ceba22260..67f2076ce5 100644 --- a/src/locale/index.js +++ b/src/locale/index.js @@ -50,6 +50,7 @@ export { default as ms } from './ms/index.js' export { default as mt } from './mt/index.js' export { default as nb } from './nb/index.js' export { default as nl } from './nl/index.js' +export { default as nlBE } from './nl-BE/index.js' export { default as nn } from './nn/index.js' export { default as pl } from './pl/index.js' export { default as pt } from './pt/index.js' diff --git a/src/locale/nl-BE/_lib/formatDistance/index.js b/src/locale/nl-BE/_lib/formatDistance/index.js new file mode 100644 index 0000000000..e5fafde94e --- /dev/null +++ b/src/locale/nl-BE/_lib/formatDistance/index.js @@ -0,0 +1,86 @@ +var formatDistanceLocale = { + lessThanXSeconds: { + one: 'minder dan een seconde', + other: 'minder dan {{count}} seconden' + }, + xSeconds: { + one: '1 seconde', + other: '{{count}} seconden' + }, + halfAMinute: 'een halve minuut', + lessThanXMinutes: { + one: 'minder dan een minuut', + other: 'minder dan {{count}} minuten' + }, + xMinutes: { + one: 'een minuut', + other: '{{count}} minuten' + }, + aboutXHours: { + one: 'ongeveer 1 uur', + other: 'ongeveer {{count}} uur' + }, + xHours: { + one: '1 uur', + other: '{{count}} uur' + }, + xDays: { + one: '1 dag', + other: '{{count}} dagen' + }, + aboutXWeeks: { + one: 'ongeveer 1 week', + other: 'ongeveer {{count}} weken' + }, + xWeeks: { + one: '1 week', + other: '{{count}} weken' + }, + aboutXMonths: { + one: 'ongeveer 1 maand', + other: 'ongeveer {{count}} maanden' + }, + xMonths: { + one: '1 maand', + other: '{{count}} maanden' + }, + aboutXYears: { + one: 'ongeveer 1 jaar', + other: 'ongeveer {{count}} jaar' + }, + xYears: { + one: '1 jaar', + other: '{{count}} jaar' + }, + overXYears: { + one: 'meer dan 1 jaar', + other: 'meer dan {{count}} jaar' + }, + almostXYears: { + one: 'bijna 1 jaar', + other: 'bijna {{count}} jaar' + } +} + +export default function formatDistance(token, count, options) { + options = options || {} + + var result + if (typeof formatDistanceLocale[token] === 'string') { + result = formatDistanceLocale[token] + } else if (count === 1) { + result = formatDistanceLocale[token].one + } else { + result = formatDistanceLocale[token].other.replace('{{count}}', count) + } + + if (options.addSuffix) { + if (options.comparison > 0) { + return 'over ' + result + } else { + return result + ' geleden' + } + } + + return result +} diff --git a/src/locale/nl-BE/_lib/formatLong/index.js b/src/locale/nl-BE/_lib/formatLong/index.js index bcefeeed1f..761590931e 100644 --- a/src/locale/nl-BE/_lib/formatLong/index.js +++ b/src/locale/nl-BE/_lib/formatLong/index.js @@ -1,12 +1,41 @@ import buildFormatLongFn from '../../../_lib/buildFormatLongFn/index.js' -var formatLong = buildFormatLongFn({ - LT: 'HH:mm', - LTS: 'HH:mm:ss', - L: 'DD/MM/YYYY', - LL: 'D MMMM YYYY', - LLL: 'D MMMM YYYY HH:mm', - LLLL: 'dddd, D MMMM YYYY HH:mm' -}) +var dateFormats = { + full: 'EEEE d MMMM y', + long: 'd MMMM y', + medium: 'd MMM y', + short: 'dd-MM-y' +} + +var timeFormats = { + full: 'HH:mm:ss zzzz', + long: 'HH:mm:ss z', + medium: 'HH:mm:ss', + short: 'HH:mm' +} + +var dateTimeFormats = { + full: "{{date}} 'om' {{time}}", + long: "{{date}} 'om' {{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/src/locale/nl-BE/_lib/formatRelative/index.js b/src/locale/nl-BE/_lib/formatRelative/index.js new file mode 100644 index 0000000000..4b6db424b1 --- /dev/null +++ b/src/locale/nl-BE/_lib/formatRelative/index.js @@ -0,0 +1,12 @@ +var formatRelativeLocale = { + lastWeek: "'vorige' eeee 'om' p", + yesterday: "'gisteren om' p", + today: "'vandaag om' p", + tomorrow: "'morgen om' p", + nextWeek: "eeee 'om' p", + other: 'P' +} + +export default function formatRelative(token, _date, _baseDate, _options) { + return formatRelativeLocale[token] +} diff --git a/src/locale/nl-BE/_lib/localize/index.js b/src/locale/nl-BE/_lib/localize/index.js new file mode 100644 index 0000000000..38980470d1 --- /dev/null +++ b/src/locale/nl-BE/_lib/localize/index.js @@ -0,0 +1,132 @@ +import buildLocalizeFn from '../../../_lib/buildLocalizeFn/index.js' + +var eraValues = { + narrow: ['v.C.', 'n.C.'], + abbreviated: ['v.Chr.', 'n.Chr.'], + wide: ['voor Christus', 'na Christus'] +} + +var quarterValues = { + narrow: ['1', '2', '3', '4'], + abbreviated: ['K1', 'K2', 'K3', 'K4'], + wide: ['1e kwartaal', '2e kwartaal', '3e kwartaal', '4e kwartaal'] +} + +var monthValues = { + narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + abbreviated: [ + 'jan.', + 'feb.', + 'mrt.', + 'apr.', + 'mei', + 'jun.', + 'jul.', + 'aug.', + 'sep.', + 'okt.', + 'nov.', + 'dec.' + ], + wide: [ + 'januari', + 'februari', + 'maart', + 'april', + 'mei', + 'juni', + 'juli', + 'augustus', + 'september', + 'oktober', + 'november', + 'december' + ] +} + +var dayValues = { + narrow: ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'], + short: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], + abbreviated: ['zon', 'maa', 'din', 'woe', 'don', 'vri', 'zat'], + wide: [ + 'zondag', + 'maandag', + 'dinsdag', + 'woensdag', + 'donderdag', + 'vrijdag', + 'zaterdag' + ] +} + +var dayPeriodValues = { + narrow: { + am: 'AM', + pm: 'PM', + midnight: 'middernacht', + noon: 'het middag', + morning: "'s ochtends", + afternoon: "'s namiddags", + evening: "'s avonds", + night: "'s nachts" + }, + abbreviated: { + am: 'AM', + pm: 'PM', + midnight: 'middernacht', + noon: 'het middag', + morning: "'s ochtends", + afternoon: "'s namiddags", + evening: "'s avonds", + night: "'s nachts" + }, + wide: { + am: 'AM', + pm: 'PM', + midnight: 'middernacht', + noon: 'het middag', + morning: "'s ochtends", + afternoon: "'s namiddags", + evening: "'s avonds", + night: "'s nachts" + } +} + +function ordinalNumber(dirtyNumber) { + var number = Number(dirtyNumber) + return number + 'e' +} + +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' + }) +} + +export default localize diff --git a/src/locale/nl-BE/_lib/match/index.js b/src/locale/nl-BE/_lib/match/index.js new file mode 100644 index 0000000000..f1cad6f401 --- /dev/null +++ b/src/locale/nl-BE/_lib/match/index.js @@ -0,0 +1,136 @@ +import buildMatchPatternFn from '../../../_lib/buildMatchPatternFn/index.js' +import buildMatchFn from '../../../_lib/buildMatchFn/index.js' + +var matchOrdinalNumberPattern = /^(\d+)e?/i +var parseOrdinalNumberPattern = /\d+/i + +var matchEraPatterns = { + narrow: /^([vn]\.? ?C\.?)/, + abbreviated: /^([vn]\. ?Chr\.?)/, + wide: /^((voor|na) Christus)/ +} +var parseEraPatterns = { + any: [/^v/, /^n/] +} + +var matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^K[1234]/i, + wide: /^[1234]e kwartaal/i +} +var parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i] +} + +var matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan.|feb.|mrt.|apr.|mei|jun.|jul.|aug.|sep.|okt.|nov.|dec.)/i, + wide: /^(januari|februari|maart|april|mei|juni|juli|augustus|september|oktober|november|december)/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: [ + /^jan/i, + /^feb/i, + /^m(r|a)/i, + /^apr/i, + /^mei/i, + /^jun/i, + /^jul/i, + /^aug/i, + /^sep/i, + /^okt/i, + /^nov/i, + /^dec/i + ] +} + +var matchDayPatterns = { + narrow: /^[zmdwv]/i, + short: /^(zo|ma|di|wo|do|vr|za)/i, + abbreviated: /^(zon|maa|din|woe|don|vri|zat)/i, + wide: /^(zondag|maandag|dinsdag|woensdag|donderdag|vrijdag|zaterdag)/i +} +var parseDayPatterns = { + narrow: [/^z/i, /^m/i, /^d/i, /^w/i, /^d/i, /^v/i, /^z/i], + any: [/^zo/i, /^ma/i, /^di/i, /^wo/i, /^do/i, /^vr/i, /^za/i] +} + +var matchDayPeriodPatterns = { + any: /^(am|pm|middernacht|het middaguur|'s (ochtends|middags|avonds|nachts))/i +} +var parseDayPeriodPatterns = { + any: { + am: /^am/i, + pm: /^pm/i, + midnight: /^middernacht/i, + noon: /^het middaguur/i, + morning: /ochtend/i, + afternoon: /middag/i, + evening: /avond/i, + night: /nacht/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: 'any', + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: 'any' + }) +} + +export default match diff --git a/src/locale/nl-BE/index.js b/src/locale/nl-BE/index.js index fb2da2e9c2..ec36f99026 100644 --- a/src/locale/nl-BE/index.js +++ b/src/locale/nl-BE/index.js @@ -1,11 +1,8 @@ -// Same as nl -// import formatDistance from '../nl/_lib/formatDistance/index.js' -// import formatRelative from '../nl/_lib/formatRelative/index.js' -// import localize from '../nl/_lib/localize/index.js' -// import match from '../nl/_lib/match/index.js' - -// Unique for nl-BE -// import formatLong from './_lib/formatLong/index.js' +import formatDistance from './_lib/formatDistance/index.js' +import formatLong from './_lib/formatLong/index.js' +import formatRelative from './_lib/formatRelative/index.js' +import localize from './_lib/localize/index.js' +import match from './_lib/match/index.js' /** * @type {Locale} @@ -16,22 +13,19 @@ * @author Jorik Tangelder [@jtangelder]{@link https://github.com/jtangelder} * @author Ruben Stolk [@rubenstolk]{@link https://github.com/rubenstolk} * @author Lode Vanhove [@bitcrumb]{@link https://github.com/bitcrumb} + * @author Alex Hoeing [@dcbn]{@link https://github.com/dcbn} */ -// var locale = { -// code: 'nl-BE', -// formatDistance: formatDistance, -// formatLong: formatLong, -// formatRelative: formatRelative, -// localize: localize, -// match: match, -// options: { -// weekStartsOn: 1 /* Monday */, -// firstWeekContainsDate: 4 -// } -// } - -// export default locale +var locale = { + code: 'nl-BE', + formatDistance: formatDistance, + formatLong: formatLong, + formatRelative: formatRelative, + localize: localize, + match: match, + options: { + weekStartsOn: 1 /* Monday */, + firstWeekContainsDate: 4 + } +} -throw new Error( - 'nl-BE locale is currently unavailable. Please check the progress of converting this locale to v2.0.0 in this issue on Github: TBA' -) +export default locale diff --git a/src/locale/nl-BE/snapshot.md b/src/locale/nl-BE/snapshot.md new file mode 100644 index 0000000000..00e2aae8cf --- /dev/null +++ b/src/locale/nl-BE/snapshot.md @@ -0,0 +1,304 @@ +# Dutch (nl-BE) locale + +## `format` and `parse` + +| Title | Token string | Date | `format` result | `parse` result | +| ------------------------------- | ------------ | ------------------------ | ----------------------------------------------- | ------------------------ | +| Calendar year | yo | 1987-02-11T12:13:14.015Z | 1987e | 1987-01-01T00:00:00.000Z | +| | | 0005-01-01T12:13:14.015Z | 5e | 0005-01-01T00:00:00.000Z | +| Local week-numbering year | Yo | 1987-02-11T12:13:14.015Z | 1987e | 1986-12-29T00:00:00.000Z | +| | | 0005-01-01T12:13:14.015Z | 4e | 0003-12-29T00:00:00.000Z | +| Quarter (formatting) | Qo | 2019-01-01T12:13:14.015Z | 1e | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | 2e | 2019-04-01T00:00:00.000Z | +| | QQQ | 2019-01-01T12:13:14.015Z | K1 | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | K2 | 2019-04-01T00:00:00.000Z | +| | QQQQ | 2019-01-01T12:13:14.015Z | 1e kwartaal | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | 2e kwartaal | 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 | 1e | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | 2e | 2019-04-01T00:00:00.000Z | +| | qqq | 2019-01-01T12:13:14.015Z | K1 | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | K2 | 2019-04-01T00:00:00.000Z | +| | qqqq | 2019-01-01T12:13:14.015Z | 1e kwartaal | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | 2e kwartaal | 2019-04-01T00:00:00.000Z | +| Month (formatting) | Mo | 2019-02-11T12:13:14.015Z | 2e | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | 7e | 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 | februari | 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 | 2e | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | 7e | 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 | februari | 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 | 1e | 2018-12-31T00:00:00.000Z | +| | | 2019-12-01T12:13:14.015Z | 48e | 2019-11-25T00:00:00.000Z | +| ISO week of year | Io | 2019-01-01T12:13:14.015Z | 1e | 2018-12-31T00:00:00.000Z | +| | | 2019-12-01T12:13:14.015Z | 48e | 2019-11-25T00:00:00.000Z | +| Day of month | do | 2019-02-11T12:13:14.015Z | 11e | 2019-02-11T00:00:00.000Z | +| | | 2019-02-28T12:13:14.015Z | 28e | 2019-02-28T00:00:00.000Z | +| Day of year | Do | 2019-02-11T12:13:14.015Z | 42e | 2019-02-11T00:00:00.000Z | +| | | 2019-12-31T12:13:14.015Z | 365e | 2019-12-31T00:00:00.000Z | +| Day of week (formatting) | E | 2019-02-11T12:13:14.015Z | maa | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | vri | 2019-02-15T00:00:00.000Z | +| | EE | 2019-02-11T12:13:14.015Z | maa | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | vri | 2019-02-15T00:00:00.000Z | +| | EEE | 2019-02-11T12:13:14.015Z | maa | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | vri | 2019-02-15T00:00:00.000Z | +| | EEEE | 2019-02-11T12:13:14.015Z | maandag | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | vrijdag | 2019-02-15T00:00:00.000Z | +| | EEEEE | 2019-02-11T12:13:14.015Z | M | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | V | 2019-02-15T00:00:00.000Z | +| | EEEEEE | 2019-02-11T12:13:14.015Z | ma | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | vr | 2019-02-15T00:00:00.000Z | +| ISO day of week (formatting) | io | 2019-02-11T12:13:14.015Z | 1e | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | 5e | 2019-02-15T00:00:00.000Z | +| | iii | 2019-02-11T12:13:14.015Z | maa | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | vri | 2019-02-15T00:00:00.000Z | +| | iiii | 2019-02-11T12:13:14.015Z | maandag | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | vrijdag | 2019-02-15T00:00:00.000Z | +| | iiiii | 2019-02-11T12:13:14.015Z | M | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | V | 2019-02-15T00:00:00.000Z | +| | iiiiii | 2019-02-11T12:13:14.015Z | ma | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | vr | 2019-02-15T00:00:00.000Z | +| Local day of week (formatting) | eo | 2019-02-11T12:13:14.015Z | 1e | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | 5e | 2019-02-15T00:00:00.000Z | +| | eee | 2019-02-11T12:13:14.015Z | maa | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | vri | 2019-02-15T00:00:00.000Z | +| | eeee | 2019-02-11T12:13:14.015Z | maandag | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | vrijdag | 2019-02-15T00:00:00.000Z | +| | eeeee | 2019-02-11T12:13:14.015Z | M | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | V | 2019-02-15T00:00:00.000Z | +| | eeeeee | 2019-02-11T12:13:14.015Z | ma | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | vr | 2019-02-15T00:00:00.000Z | +| Local day of week (stand-alone) | co | 2019-02-11T12:13:14.015Z | 1e | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | 5e | 2019-02-15T00:00:00.000Z | +| | ccc | 2019-02-11T12:13:14.015Z | maa | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | vri | 2019-02-15T00:00:00.000Z | +| | cccc | 2019-02-11T12:13:14.015Z | maandag | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | vrijdag | 2019-02-15T00:00:00.000Z | +| | ccccc | 2019-02-11T12:13:14.015Z | M | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | V | 2019-02-15T00:00:00.000Z | +| | cccccc | 2019-02-11T12:13:14.015Z | ma | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | vr | 2019-02-15T00:00:00.000Z | +| AM, PM | a | 2019-02-11T11:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| | aa | 2019-02-11T11:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| | aaa | 2019-02-11T11:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| | aaaa | 2019-02-11T11:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| | aaaaa | 2019-02-11T11:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| AM, PM, noon, midnight | b | 2019-02-11T11:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| | bb | 2019-02-11T11:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| | bbb | 2019-02-11T11:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| | bbbb | 2019-02-11T11:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| | bbbbb | 2019-02-11T11:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T19:13:14.015Z | PM | 2019-02-11T12:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | AM | 2019-02-11T00:00:00.000Z | +| Flexible day period | B | 2019-02-11T11:13:14.015Z | 's ochtends | 2019-02-11T04:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | 's namiddags | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | 's avonds | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | 's nachts | 2019-02-11T00:00:00.000Z | +| | BB | 2019-02-11T11:13:14.015Z | 's ochtends | 2019-02-11T04:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | 's namiddags | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | 's avonds | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | 's nachts | 2019-02-11T00:00:00.000Z | +| | BBB | 2019-02-11T11:13:14.015Z | 's ochtends | 2019-02-11T04:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | 's namiddags | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | 's avonds | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | 's nachts | 2019-02-11T00:00:00.000Z | +| | BBBB | 2019-02-11T11:13:14.015Z | 's ochtends | 2019-02-11T04:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | 's namiddags | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | 's avonds | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | 's nachts | 2019-02-11T00:00:00.000Z | +| | BBBBB | 2019-02-11T11:13:14.015Z | 's ochtends | 2019-02-11T04:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | 's namiddags | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | 's avonds | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | 's nachts | 2019-02-11T00:00:00.000Z | +| Hour [1-12] | ho | 2019-02-11T11:13:14.015Z | 11e | 2019-02-11T11:00:00.000Z | +| | | 2019-02-11T23:13:14.015Z | 11e | 2019-02-11T23:00:00.000Z | +| Hour [0-23] | Ho | 2019-02-11T11:13:14.015Z | 11e | 2019-02-11T11:00:00.000Z | +| | | 2019-02-11T23:13:14.015Z | 23e | 2019-02-11T23:00:00.000Z | +| Hour [0-11] | Ko | 2019-02-11T11:13:14.015Z | 11e | 2019-02-11T11:00:00.000Z | +| | | 2019-02-11T23:13:14.015Z | 11e | 2019-02-11T23:00:00.000Z | +| Hour [1-24] | ko | 2019-02-11T11:13:14.015Z | 11e | 2019-02-11T11:00:00.000Z | +| | | 2019-02-11T23:13:14.015Z | 23e | 2019-02-11T23:00:00.000Z | +| Minute | mo | 2019-01-01T12:01:14.015Z | 1e | 2019-01-01T12:01:00.000Z | +| | | 2019-04-01T12:55:14.015Z | 55e | 2019-04-01T12:55:00.000Z | +| Second | so | 2019-01-01T12:13:01.015Z | 1e | 2019-01-01T12:13:01.000Z | +| | | 2019-04-01T12:13:55.015Z | 55e | 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 feb. 1987 | 1987-02-11T00:00:00.000Z | +| | | 1453-05-29T23:59:59.999Z | 29 mei 1453 | 1453-05-29T00:00:00.000Z | +| | PPP | 1987-02-11T12:13:14.015Z | 11 februari 1987 | 1987-02-11T00:00:00.000Z | +| | | 1453-05-29T23:59:59.999Z | 29 mei 1453 | 1453-05-29T00:00:00.000Z | +| | PPPP | 1987-02-11T12:13:14.015Z | woensdag 11 februari 1987 | 1987-02-11T00:00:00.000Z | +| | | 1453-05-29T23:59:59.999Z | zondag 29 mei 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 feb. 1987, 12:13:14 | 1987-02-11T12:13:14.000Z | +| | | 1453-05-29T23:59:59.999Z | 29 mei 1453, 23:59:59 | 1453-05-29T23:59:59.000Z | +| | PPPppp | 1987-02-11T12:13:14.015Z | 11 februari 1987 om 12:13:14 GMT+0 | Errored | +| | | 1453-05-29T23:59:59.999Z | 29 mei 1453 om 23:59:59 GMT+0 | Errored | +| | PPPPpppp | 1987-02-11T12:13:14.015Z | woensdag 11 februari 1987 om 12:13:14 GMT+00:00 | Errored | +| | | 1453-05-29T23:59:59.999Z | zondag 29 mei 1453 om 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 | ongeveer 6 jaar | ongeveer 6 jaar | over ongeveer 6 jaar | +| 2005-01-01T00:00:00.000Z | ongeveer 5 jaar | ongeveer 5 jaar | over ongeveer 5 jaar | +| 2004-01-01T00:00:00.000Z | ongeveer 4 jaar | ongeveer 4 jaar | over ongeveer 4 jaar | +| 2003-01-01T00:00:00.000Z | ongeveer 3 jaar | ongeveer 3 jaar | over ongeveer 3 jaar | +| 2002-01-01T00:00:00.000Z | ongeveer 2 jaar | ongeveer 2 jaar | over ongeveer 2 jaar | +| 2001-06-01T00:00:00.000Z | meer dan 1 jaar | meer dan 1 jaar | over meer dan 1 jaar | +| 2001-02-01T00:00:00.000Z | ongeveer 1 jaar | ongeveer 1 jaar | over ongeveer 1 jaar | +| 2001-01-01T00:00:00.000Z | ongeveer 1 jaar | ongeveer 1 jaar | over ongeveer 1 jaar | +| 2000-06-01T00:00:00.000Z | 5 maanden | 5 maanden | over 5 maanden | +| 2000-03-01T00:00:00.000Z | 2 maanden | 2 maanden | over 2 maanden | +| 2000-02-01T00:00:00.000Z | ongeveer 1 maand | ongeveer 1 maand | over ongeveer 1 maand | +| 2000-01-15T00:00:00.000Z | 14 dagen | 14 dagen | over 14 dagen | +| 2000-01-02T00:00:00.000Z | 1 dag | 1 dag | over 1 dag | +| 2000-01-01T06:00:00.000Z | ongeveer 6 uur | ongeveer 6 uur | over ongeveer 6 uur | +| 2000-01-01T01:00:00.000Z | ongeveer 1 uur | ongeveer 1 uur | over ongeveer 1 uur | +| 2000-01-01T00:45:00.000Z | ongeveer 1 uur | ongeveer 1 uur | over ongeveer 1 uur | +| 2000-01-01T00:30:00.000Z | 30 minuten | 30 minuten | over 30 minuten | +| 2000-01-01T00:15:00.000Z | 15 minuten | 15 minuten | over 15 minuten | +| 2000-01-01T00:01:00.000Z | een minuut | een minuut | over een minuut | +| 2000-01-01T00:00:25.000Z | minder dan een minuut | een halve minuut | over minder dan een minuut | +| 2000-01-01T00:00:15.000Z | minder dan een minuut | minder dan 20 seconden | over minder dan een minuut | +| 2000-01-01T00:00:05.000Z | minder dan een minuut | minder dan 10 seconden | over minder dan een minuut | +| 2000-01-01T00:00:00.000Z | minder dan een minuut | minder dan 5 seconden | minder dan een minuut geleden | +| 1999-12-31T23:59:55.000Z | minder dan een minuut | minder dan 10 seconden | minder dan een minuut geleden | +| 1999-12-31T23:59:45.000Z | minder dan een minuut | minder dan 20 seconden | minder dan een minuut geleden | +| 1999-12-31T23:59:35.000Z | minder dan een minuut | een halve minuut | minder dan een minuut geleden | +| 1999-12-31T23:59:00.000Z | een minuut | een minuut | een minuut geleden | +| 1999-12-31T23:45:00.000Z | 15 minuten | 15 minuten | 15 minuten geleden | +| 1999-12-31T23:30:00.000Z | 30 minuten | 30 minuten | 30 minuten geleden | +| 1999-12-31T23:15:00.000Z | ongeveer 1 uur | ongeveer 1 uur | ongeveer 1 uur geleden | +| 1999-12-31T23:00:00.000Z | ongeveer 1 uur | ongeveer 1 uur | ongeveer 1 uur geleden | +| 1999-12-31T18:00:00.000Z | ongeveer 6 uur | ongeveer 6 uur | ongeveer 6 uur geleden | +| 1999-12-30T00:00:00.000Z | 2 dagen | 2 dagen | 2 dagen geleden | +| 1999-12-15T00:00:00.000Z | 17 dagen | 17 dagen | 17 dagen geleden | +| 1999-12-01T00:00:00.000Z | ongeveer 1 maand | ongeveer 1 maand | ongeveer 1 maand geleden | +| 1999-11-01T00:00:00.000Z | 2 maanden | 2 maanden | 2 maanden geleden | +| 1999-06-01T00:00:00.000Z | 7 maanden | 7 maanden | 7 maanden geleden | +| 1999-01-01T00:00:00.000Z | ongeveer 1 jaar | ongeveer 1 jaar | ongeveer 1 jaar geleden | +| 1998-12-01T00:00:00.000Z | ongeveer 1 jaar | ongeveer 1 jaar | ongeveer 1 jaar geleden | +| 1998-06-01T00:00:00.000Z | meer dan 1 jaar | meer dan 1 jaar | meer dan 1 jaar geleden | +| 1998-01-01T00:00:00.000Z | ongeveer 2 jaar | ongeveer 2 jaar | ongeveer 2 jaar geleden | +| 1997-01-01T00:00:00.000Z | ongeveer 3 jaar | ongeveer 3 jaar | ongeveer 3 jaar geleden | +| 1996-01-01T00:00:00.000Z | ongeveer 4 jaar | ongeveer 4 jaar | ongeveer 4 jaar geleden | +| 1995-01-01T00:00:00.000Z | ongeveer 5 jaar | ongeveer 5 jaar | ongeveer 5 jaar geleden | +| 1994-01-01T00:00:00.000Z | ongeveer 6 jaar | ongeveer 6 jaar | ongeveer 6 jaar geleden | + +## `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 jaar | over 6 jaar | 52608 uur | +| 2005-01-01T00:00:00.000Z | 5 jaar | over 5 jaar | 43848 uur | +| 2004-01-01T00:00:00.000Z | 4 jaar | over 4 jaar | 35064 uur | +| 2003-01-01T00:00:00.000Z | 3 jaar | over 3 jaar | 26304 uur | +| 2002-01-01T00:00:00.000Z | 2 jaar | over 2 jaar | 17544 uur | +| 2001-06-01T00:00:00.000Z | 1 jaar | over 1 jaar | 12408 uur | +| 2001-02-01T00:00:00.000Z | 1 jaar | over 1 jaar | 9528 uur | +| 2001-01-01T00:00:00.000Z | 1 jaar | over 1 jaar | 8784 uur | +| 2000-06-01T00:00:00.000Z | 5 maanden | over 5 maanden | 3648 uur | +| 2000-03-01T00:00:00.000Z | 2 maanden | over 2 maanden | 1440 uur | +| 2000-02-01T00:00:00.000Z | 1 maand | over 1 maand | 744 uur | +| 2000-01-15T00:00:00.000Z | 14 dagen | over 14 dagen | 336 uur | +| 2000-01-02T00:00:00.000Z | 1 dag | over 1 dag | 24 uur | +| 2000-01-01T06:00:00.000Z | 6 uur | over 6 uur | 6 uur | +| 2000-01-01T01:00:00.000Z | 1 uur | over 1 uur | 1 uur | +| 2000-01-01T00:45:00.000Z | 45 minuten | over 45 minuten | 1 uur | +| 2000-01-01T00:30:00.000Z | 30 minuten | over 30 minuten | 1 uur | +| 2000-01-01T00:15:00.000Z | 15 minuten | over 15 minuten | 0 uur | +| 2000-01-01T00:01:00.000Z | een minuut | over een minuut | 0 uur | +| 2000-01-01T00:00:25.000Z | 25 seconden | over 25 seconden | 0 uur | +| 2000-01-01T00:00:15.000Z | 15 seconden | over 15 seconden | 0 uur | +| 2000-01-01T00:00:05.000Z | 5 seconden | over 5 seconden | 0 uur | +| 2000-01-01T00:00:00.000Z | 0 seconden | 0 seconden geleden | 0 uur | +| 1999-12-31T23:59:55.000Z | 5 seconden | 5 seconden geleden | 0 uur | +| 1999-12-31T23:59:45.000Z | 15 seconden | 15 seconden geleden | 0 uur | +| 1999-12-31T23:59:35.000Z | 25 seconden | 25 seconden geleden | 0 uur | +| 1999-12-31T23:59:00.000Z | een minuut | een minuut geleden | 0 uur | +| 1999-12-31T23:45:00.000Z | 15 minuten | 15 minuten geleden | 0 uur | +| 1999-12-31T23:30:00.000Z | 30 minuten | 30 minuten geleden | 1 uur | +| 1999-12-31T23:15:00.000Z | 45 minuten | 45 minuten geleden | 1 uur | +| 1999-12-31T23:00:00.000Z | 1 uur | 1 uur geleden | 1 uur | +| 1999-12-31T18:00:00.000Z | 6 uur | 6 uur geleden | 6 uur | +| 1999-12-30T00:00:00.000Z | 2 dagen | 2 dagen geleden | 48 uur | +| 1999-12-15T00:00:00.000Z | 17 dagen | 17 dagen geleden | 408 uur | +| 1999-12-01T00:00:00.000Z | 1 maand | 1 maand geleden | 744 uur | +| 1999-11-01T00:00:00.000Z | 2 maanden | 2 maanden geleden | 1464 uur | +| 1999-06-01T00:00:00.000Z | 7 maanden | 7 maanden geleden | 5136 uur | +| 1999-01-01T00:00:00.000Z | 1 jaar | 1 jaar geleden | 8760 uur | +| 1998-12-01T00:00:00.000Z | 1 jaar | 1 jaar geleden | 9504 uur | +| 1998-06-01T00:00:00.000Z | 2 jaar | 2 jaar geleden | 13896 uur | +| 1998-01-01T00:00:00.000Z | 2 jaar | 2 jaar geleden | 17520 uur | +| 1997-01-01T00:00:00.000Z | 3 jaar | 3 jaar geleden | 26280 uur | +| 1996-01-01T00:00:00.000Z | 4 jaar | 4 jaar geleden | 35064 uur | +| 1995-01-01T00:00:00.000Z | 5 jaar | 5 jaar geleden | 43824 uur | +| 1994-01-01T00:00:00.000Z | 6 jaar | 6 jaar geleden | 52584 uur | + +## `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 | woensdag om 00:00 | +| 2000-01-02T00:00:00.000Z | morgen om 00:00 | +| 2000-01-01T00:00:00.000Z | vandaag om 00:00 | +| 1999-12-31T00:00:00.000Z | gisteren om 00:00 | +| 1999-12-27T00:00:00.000Z | vorige maandag om 00:00 | +| 1999-12-21T00:00:00.000Z | 21-12-1999 |