diff options
Diffstat (limited to 'date-fns/src/locale/fr')
-rw-r--r-- | date-fns/src/locale/fr/_lib/formatDistance/index.js | 101 | ||||
-rw-r--r-- | date-fns/src/locale/fr/_lib/formatLong/index.js | 41 | ||||
-rw-r--r-- | date-fns/src/locale/fr/_lib/formatRelative/index.js | 12 | ||||
-rw-r--r-- | date-fns/src/locale/fr/_lib/formatters/index.js | 17 | ||||
-rw-r--r-- | date-fns/src/locale/fr/_lib/localize/index.js | 155 | ||||
-rw-r--r-- | date-fns/src/locale/fr/_lib/match/index.js | 137 | ||||
-rw-r--r-- | date-fns/src/locale/fr/index.d.ts | 4 | ||||
-rw-r--r-- | date-fns/src/locale/fr/index.js | 30 | ||||
-rw-r--r-- | date-fns/src/locale/fr/index.js.flow | 35 | ||||
-rw-r--r-- | date-fns/src/locale/fr/snapshot.md | 304 |
10 files changed, 836 insertions, 0 deletions
diff --git a/date-fns/src/locale/fr/_lib/formatDistance/index.js b/date-fns/src/locale/fr/_lib/formatDistance/index.js new file mode 100644 index 0000000..e5bbf4f --- /dev/null +++ b/date-fns/src/locale/fr/_lib/formatDistance/index.js @@ -0,0 +1,101 @@ +var formatDistanceLocale = { + lessThanXSeconds: { + one: 'moins d’une seconde', + other: 'moins de {{count}} secondes' + }, + + xSeconds: { + one: '1 seconde', + other: '{{count}} secondes' + }, + + halfAMinute: '30 secondes', + + lessThanXMinutes: { + one: 'moins d’une minute', + other: 'moins de {{count}} minutes' + }, + + xMinutes: { + one: '1 minute', + other: '{{count}} minutes' + }, + + aboutXHours: { + one: 'environ 1 heure', + other: 'environ {{count}} heures' + }, + + xHours: { + one: '1 heure', + other: '{{count}} heures' + }, + + xDays: { + one: '1 jour', + other: '{{count}} jours' + }, + + aboutXWeeks: { + one: 'environ 1 semaine', + other: 'environ {{count}} semaines' + }, + + xWeeks: { + one: '1 semaine', + other: '{{count}} semaines' + }, + + aboutXMonths: { + one: 'environ 1 mois', + other: 'environ {{count}} mois' + }, + + xMonths: { + one: '1 mois', + other: '{{count}} mois' + }, + + aboutXYears: { + one: 'environ 1 an', + other: 'environ {{count}} ans' + }, + + xYears: { + one: '1 an', + other: '{{count}} ans' + }, + + overXYears: { + one: 'plus d’un an', + other: 'plus de {{count}} ans' + }, + + almostXYears: { + one: 'presqu’un an', + other: 'presque {{count}} ans' + } +} + +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 'dans ' + result + } else { + return 'il y a ' + result + } + } + + return result +} diff --git a/date-fns/src/locale/fr/_lib/formatLong/index.js b/date-fns/src/locale/fr/_lib/formatLong/index.js new file mode 100644 index 0000000..509d10a --- /dev/null +++ b/date-fns/src/locale/fr/_lib/formatLong/index.js @@ -0,0 +1,41 @@ +import buildFormatLongFn from '../../../_lib/buildFormatLongFn/index' + +var dateFormats = { + full: 'EEEE d MMMM y', + long: 'd MMMM y', + medium: 'd MMM y', + short: 'dd/MM/y' +} + +var timeFormats = { + full: 'HH:mm:ss zzzz', + long: 'HH:mm:ss z', + medium: 'HH:mm:ss', + short: 'HH: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/fr/_lib/formatRelative/index.js b/date-fns/src/locale/fr/_lib/formatRelative/index.js new file mode 100644 index 0000000..c4905f3 --- /dev/null +++ b/date-fns/src/locale/fr/_lib/formatRelative/index.js @@ -0,0 +1,12 @@ +var formatRelativeLocale = { + lastWeek: "eeee 'dernier à' p", + yesterday: "'hier à' p", + today: "'aujourd’hui à' p", + tomorrow: "'demain à' p'", + nextWeek: "eeee 'prochain à' p", + other: 'P' +} + +export default function formatRelative(token, _date, _baseDate, _options) { + return formatRelativeLocale[token] +} diff --git a/date-fns/src/locale/fr/_lib/formatters/index.js b/date-fns/src/locale/fr/_lib/formatters/index.js new file mode 100644 index 0000000..b270774 --- /dev/null +++ b/date-fns/src/locale/fr/_lib/formatters/index.js @@ -0,0 +1,17 @@ +var formatters = {} + +// Special case for day of month ordinals in long date format context: +// 1er mars, 2 mars, 3 mars, … +// See https://github.com/date-fns/date-fns/issues/437 +var monthsTokens = ['MMM', 'MMMM'] +monthsTokens.forEach(function (monthToken) { + formatters['Do ' + monthToken] = function (date, options) { + var commonFormatters = options.formatters + var dayOfMonthToken = date.getUTCDate() === 1 ? 'Do' : 'D' + var dayOfMonthFormatter = commonFormatters[dayOfMonthToken] + var monthFormatter = commonFormatters[monthToken] + return dayOfMonthFormatter(date, options) + ' ' + monthFormatter(date, options) + } +}) + +export default formatters diff --git a/date-fns/src/locale/fr/_lib/localize/index.js b/date-fns/src/locale/fr/_lib/localize/index.js new file mode 100644 index 0000000..01d52b3 --- /dev/null +++ b/date-fns/src/locale/fr/_lib/localize/index.js @@ -0,0 +1,155 @@ +import buildLocalizeFn from '../../../_lib/buildLocalizeFn/index' + +var eraValues = { + narrow: ['av. J.-C', 'ap. J.-C'], + abbreviated: ['av. J.-C', 'ap. J.-C'], + wide: ['avant Jésus-Christ', 'après Jésus-Christ'] +} + +var quarterValues = { + narrow: ['T1', 'T2', 'T3', 'T4'], + abbreviated: ['1er trim.', '2ème trim.', '3ème trim.', '4ème trim.'], + wide: ['1er trimestre', '2ème trimestre', '3ème trimestre', '4ème trimestre'] +} + +var monthValues = { + narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + abbreviated: [ + 'janv.', + 'févr.', + 'mars', + 'avr.', + 'mai', + 'juin', + 'juil.', + 'août', + 'sept.', + 'oct.', + 'nov.', + 'déc.' + ], + wide: [ + 'janvier', + 'février', + 'mars', + 'avril', + 'mai', + 'juin', + 'juillet', + 'août', + 'septembre', + 'octobre', + 'novembre', + 'décembre' + ] +} + +var dayValues = { + narrow: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], + short: ['di', 'lu', 'ma', 'me', 'je', 've', 'sa'], + abbreviated: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], + wide: [ + 'dimanche', + 'lundi', + 'mardi', + 'mercredi', + 'jeudi', + 'vendredi', + 'samedi' + ] +} + +var dayPeriodValues = { + narrow: { + am: 'AM', + pm: 'PM', + midnight: 'minuit', + noon: 'midi', + morning: 'mat.', + afternoon: 'ap.m.', + evening: 'soir', + night: 'mat.' + }, + abbreviated: { + am: 'AM', + pm: 'PM', + midnight: 'minuit', + noon: 'midi', + morning: 'matin', + afternoon: 'après-midi', + evening: 'soir', + night: 'matin' + }, + wide: { + am: 'AM', + pm: 'PM', + midnight: 'minuit', + noon: 'midi', + morning: 'du matin', + afternoon: 'de l’après-midi', + evening: 'du soir', + night: 'du matin' + } +} + +function ordinalNumber(dirtyNumber, dirtyOptions) { + var number = Number(dirtyNumber) + + var options = dirtyOptions || {} + var unit = String(options.unit) + var suffix + + if (number === 0) { + return number + } + + if (unit === 'year' || unit === 'hour' || unit === 'week') { + if (number === 1) { + suffix = 'ère' + } else { + suffix = 'ème' + } + } else { + if (number === 1) { + suffix = 'er' + } else { + suffix = 'ème' + } + } + + return number + 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' + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: 'wide' + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: 'wide' + }) +} + +export default localize diff --git a/date-fns/src/locale/fr/_lib/match/index.js b/date-fns/src/locale/fr/_lib/match/index.js new file mode 100644 index 0000000..e5c36f8 --- /dev/null +++ b/date-fns/src/locale/fr/_lib/match/index.js @@ -0,0 +1,137 @@ +import buildMatchPatternFn from '../../../_lib/buildMatchPatternFn/index' +import buildMatchFn from '../../../_lib/buildMatchFn/index' + +var matchOrdinalNumberPattern = /^(\d+)(ième|ère|ème|er|e)?/i +var parseOrdinalNumberPattern = /\d+/i + +var matchEraPatterns = { + narrow: /^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i, + abbreviated: /^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i, + wide: /^(avant Jésus-Christ|après Jésus-Christ)/i +} +var parseEraPatterns = { + any: [/^av/i, /^ap/i] +} + +var matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^t[1234]/i, + wide: /^[1234](er|ème|e)? trimestre/i +} +var parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i] +} + +var matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i, + wide: /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/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, + /^mar/i, + /^av/i, + /^ma/i, + /^juin/i, + /^juil/i, + /^ao/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i + ] +} + +var matchDayPatterns = { + narrow: /^[lmjvsd]/i, + short: /^(di|lu|ma|me|je|ve|sa)/i, + abbreviated: /^(dim|lun|mar|mer|jeu|ven|sam)\.?/i, + wide: /^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i +} +var parseDayPatterns = { + narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i], + any: [/^di/i, /^lu/i, /^ma/i, /^me/i, /^je/i, /^ve/i, /^sa/i] +} + +var matchDayPeriodPatterns = { + narrow: /^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i, + any: /^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i +} +var parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^min/i, + noon: /^mid/i, + morning: /mat/i, + afternoon: /ap/i, + evening: /soir/i, + night: /nuit/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/date-fns/src/locale/fr/index.d.ts b/date-fns/src/locale/fr/index.d.ts new file mode 100644 index 0000000..5dc7fe0 --- /dev/null +++ b/date-fns/src/locale/fr/index.d.ts @@ -0,0 +1,4 @@ +// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it. + +import { fr } from 'date-fns/locale' +export default fr diff --git a/date-fns/src/locale/fr/index.js b/date-fns/src/locale/fr/index.js new file mode 100644 index 0000000..34f9438 --- /dev/null +++ b/date-fns/src/locale/fr/index.js @@ -0,0 +1,30 @@ +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 French locale. + * @language French + * @iso-639-2 fra + * @author Jean Dupouy [@izeau]{@link https://github.com/izeau} + * @author François B [@fbonzon]{@link https://github.com/fbonzon} + */ + +var locale = { + code: 'fr', + 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/fr/index.js.flow b/date-fns/src/locale/fr/index.js.flow new file mode 100644 index 0000000..b9dfe66 --- /dev/null +++ b/date-fns/src/locale/fr/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/fr/snapshot.md b/date-fns/src/locale/fr/snapshot.md new file mode 100644 index 0000000..1edb19f --- /dev/null +++ b/date-fns/src/locale/fr/snapshot.md @@ -0,0 +1,304 @@ +# French (fr) locale + +## `format` and `parse` + +| Title | Token string | Date | `format` result | `parse` result | +| ------------------------------- | ------------ | ------------------------ | --------------------------------------------- | ------------------------ | +| Calendar year | yo | 1987-02-11T12:13:14.015Z | 1987ème | 1987-01-01T00:00:00.000Z | +| | | 0005-01-01T12:13:14.015Z | 5ème | 0005-01-01T00:00:00.000Z | +| Local week-numbering year | Yo | 1987-02-11T12:13:14.015Z | 1987ème | 1986-12-29T00:00:00.000Z | +| | | 0005-01-01T12:13:14.015Z | 4ème | 0003-12-29T00:00:00.000Z | +| Quarter (formatting) | Qo | 2019-01-01T12:13:14.015Z | 1er | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | 2ème | 2019-04-01T00:00:00.000Z | +| | QQQ | 2019-01-01T12:13:14.015Z | 1er trim. | Invalid Date | +| | | 2019-04-01T12:13:14.015Z | 2ème trim. | Invalid Date | +| | QQQQ | 2019-01-01T12:13:14.015Z | 1er trimestre | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | 2ème trimestre | 2019-04-01T00:00:00.000Z | +| | QQQQQ | 2019-01-01T12:13:14.015Z | T1 | Invalid Date | +| | | 2019-04-01T12:13:14.015Z | T2 | Invalid Date | +| Quarter (stand-alone) | qo | 2019-01-01T12:13:14.015Z | 1er | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | 2ème | 2019-04-01T00:00:00.000Z | +| | qqq | 2019-01-01T12:13:14.015Z | 1er trim. | Invalid Date | +| | | 2019-04-01T12:13:14.015Z | 2ème trim. | Invalid Date | +| | qqqq | 2019-01-01T12:13:14.015Z | 1er trimestre | 2019-01-01T00:00:00.000Z | +| | | 2019-04-01T12:13:14.015Z | 2ème trimestre | 2019-04-01T00:00:00.000Z | +| Month (formatting) | Mo | 2019-02-11T12:13:14.015Z | 2ème | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | 7ème | 2019-07-01T00:00:00.000Z | +| | MMM | 2019-02-11T12:13:14.015Z | févr. | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | juil. | 2019-07-01T00:00:00.000Z | +| | MMMM | 2019-02-11T12:13:14.015Z | février | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | juillet | 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ème | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | 7ème | 2019-07-01T00:00:00.000Z | +| | LLL | 2019-02-11T12:13:14.015Z | févr. | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | juil. | 2019-07-01T00:00:00.000Z | +| | LLLL | 2019-02-11T12:13:14.015Z | février | 2019-02-01T00:00:00.000Z | +| | | 2019-07-10T12:13:14.015Z | juillet | 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ère | 2018-12-31T00:00:00.000Z | +| | | 2019-12-01T12:13:14.015Z | 48ème | 2019-11-25T00:00:00.000Z | +| ISO week of year | Io | 2019-01-01T12:13:14.015Z | 1ère | 2018-12-31T00:00:00.000Z | +| | | 2019-12-01T12:13:14.015Z | 48ème | 2019-11-25T00:00:00.000Z | +| Day of month | do | 2019-02-11T12:13:14.015Z | 11ème | 2019-02-11T00:00:00.000Z | +| | | 2019-02-28T12:13:14.015Z | 28ème | 2019-02-28T00:00:00.000Z | +| Day of year | Do | 2019-02-11T12:13:14.015Z | 42ème | 2019-02-11T00:00:00.000Z | +| | | 2019-12-31T12:13:14.015Z | 365ème | 2019-12-31T00:00:00.000Z | +| Day of week (formatting) | E | 2019-02-11T12:13:14.015Z | lun. | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | ven. | 2019-02-15T00:00:00.000Z | +| | EE | 2019-02-11T12:13:14.015Z | lun. | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | ven. | 2019-02-15T00:00:00.000Z | +| | EEE | 2019-02-11T12:13:14.015Z | lun. | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | ven. | 2019-02-15T00:00:00.000Z | +| | EEEE | 2019-02-11T12:13:14.015Z | lundi | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | vendredi | 2019-02-15T00:00:00.000Z | +| | EEEEE | 2019-02-11T12:13:14.015Z | L | 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 | lu | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | ve | 2019-02-15T00:00:00.000Z | +| ISO day of week (formatting) | io | 2019-02-11T12:13:14.015Z | 1er | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | 5ème | 2019-02-15T00:00:00.000Z | +| | iii | 2019-02-11T12:13:14.015Z | lun. | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | ven. | 2019-02-15T00:00:00.000Z | +| | iiii | 2019-02-11T12:13:14.015Z | lundi | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | vendredi | 2019-02-15T00:00:00.000Z | +| | iiiii | 2019-02-11T12:13:14.015Z | L | 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 | lu | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | ve | 2019-02-15T00:00:00.000Z | +| Local day of week (formatting) | eo | 2019-02-11T12:13:14.015Z | 1er | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | 5ème | 2019-02-15T00:00:00.000Z | +| | eee | 2019-02-11T12:13:14.015Z | lun. | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | ven. | 2019-02-15T00:00:00.000Z | +| | eeee | 2019-02-11T12:13:14.015Z | lundi | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | vendredi | 2019-02-15T00:00:00.000Z | +| | eeeee | 2019-02-11T12:13:14.015Z | L | 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 | lu | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | ve | 2019-02-15T00:00:00.000Z | +| Local day of week (stand-alone) | co | 2019-02-11T12:13:14.015Z | 1er | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | 5ème | 2019-02-15T00:00:00.000Z | +| | ccc | 2019-02-11T12:13:14.015Z | lun. | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | ven. | 2019-02-15T00:00:00.000Z | +| | cccc | 2019-02-11T12:13:14.015Z | lundi | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | vendredi | 2019-02-15T00:00:00.000Z | +| | ccccc | 2019-02-11T12:13:14.015Z | L | 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 | lu | 2019-02-11T00:00:00.000Z | +| | | 2019-02-15T12:13:14.015Z | ve | 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 | Invalid Date | +| | | 2019-02-11T14:13:14.015Z | PM | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | PM | Invalid Date | +| | | 2019-02-11T02:13:14.015Z | AM | Invalid Date | +| 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 | Invalid Date | +| | | 2019-02-11T14:13:14.015Z | PM | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | PM | Invalid Date | +| | | 2019-02-11T02:13:14.015Z | AM | Invalid Date | +| Flexible day period | B | 2019-02-11T11:13:14.015Z | matin | Invalid Date | +| | | 2019-02-11T14:13:14.015Z | après-midi | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | soir | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | matin | Invalid Date | +| | BB | 2019-02-11T11:13:14.015Z | matin | Invalid Date | +| | | 2019-02-11T14:13:14.015Z | après-midi | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | soir | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | matin | Invalid Date | +| | BBB | 2019-02-11T11:13:14.015Z | matin | Invalid Date | +| | | 2019-02-11T14:13:14.015Z | après-midi | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | soir | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | matin | Invalid Date | +| | BBBB | 2019-02-11T11:13:14.015Z | du matin | 2019-02-11T04:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | de l’après-midi | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | du soir | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | du matin | 2019-02-11T04:00:00.000Z | +| | BBBBB | 2019-02-11T11:13:14.015Z | mat. | 2019-02-11T04:00:00.000Z | +| | | 2019-02-11T14:13:14.015Z | ap.m. | Invalid Date | +| | | 2019-02-11T19:13:14.015Z | soir | 2019-02-11T17:00:00.000Z | +| | | 2019-02-11T02:13:14.015Z | mat. | 2019-02-11T04:00:00.000Z | +| Hour [1-12] | ho | 2019-02-11T11:13:14.015Z | 11ème | 2019-02-11T11:00:00.000Z | +| | | 2019-02-11T23:13:14.015Z | 11ème | 2019-02-11T23:00:00.000Z | +| Hour [0-23] | Ho | 2019-02-11T11:13:14.015Z | 11ème | 2019-02-11T11:00:00.000Z | +| | | 2019-02-11T23:13:14.015Z | 23ème | 2019-02-11T23:00:00.000Z | +| Hour [0-11] | Ko | 2019-02-11T11:13:14.015Z | 11ème | 2019-02-11T11:00:00.000Z | +| | | 2019-02-11T23:13:14.015Z | 11ème | 2019-02-11T23:00:00.000Z | +| Hour [1-24] | ko | 2019-02-11T11:13:14.015Z | 11ème | 2019-02-11T11:00:00.000Z | +| | | 2019-02-11T23:13:14.015Z | 23ème | 2019-02-11T23:00:00.000Z | +| Minute | mo | 2019-01-01T12:01:14.015Z | 1er | 2019-01-01T12:01:00.000Z | +| | | 2019-04-01T12:55:14.015Z | 55ème | 2019-04-01T12:55:00.000Z | +| Second | so | 2019-01-01T12:13:01.015Z | 1er | 2019-01-01T12:13:01.000Z | +| | | 2019-04-01T12:13:55.015Z | 55ème | 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 févr. 1987 | 1987-02-11T00:00:00.000Z | +| | | 1453-05-29T23:59:59.999Z | 29 mai 1453 | 1453-05-29T00:00:00.000Z | +| | PPP | 1987-02-11T12:13:14.015Z | 11 février 1987 | 1987-02-11T00:00:00.000Z | +| | | 1453-05-29T23:59:59.999Z | 29 mai 1453 | 1453-05-29T00:00:00.000Z | +| | PPPP | 1987-02-11T12:13:14.015Z | mercredi 11 février 1987 | 1987-02-11T00:00:00.000Z | +| | | 1453-05-29T23:59:59.999Z | dimanche 29 mai 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 févr. 1987, 12:13:14 | 1987-02-11T12:13:14.000Z | +| | | 1453-05-29T23:59:59.999Z | 29 mai 1453, 23:59:59 | 1453-05-29T23:59:59.000Z | +| | PPPppp | 1987-02-11T12:13:14.015Z | 11 février 1987 à 12:13:14 GMT+0 | Errored | +| | | 1453-05-29T23:59:59.999Z | 29 mai 1453 à 23:59:59 GMT+0 | Errored | +| | PPPPpppp | 1987-02-11T12:13:14.015Z | mercredi 11 février 1987 à 12:13:14 GMT+00:00 | Errored | +| | | 1453-05-29T23:59:59.999Z | dimanche 29 mai 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 | environ 6 ans | environ 6 ans | dans environ 6 ans | +| 2005-01-01T00:00:00.000Z | environ 5 ans | environ 5 ans | dans environ 5 ans | +| 2004-01-01T00:00:00.000Z | environ 4 ans | environ 4 ans | dans environ 4 ans | +| 2003-01-01T00:00:00.000Z | environ 3 ans | environ 3 ans | dans environ 3 ans | +| 2002-01-01T00:00:00.000Z | environ 2 ans | environ 2 ans | dans environ 2 ans | +| 2001-06-01T00:00:00.000Z | plus d’un an | plus d’un an | dans plus d’un an | +| 2001-02-01T00:00:00.000Z | environ 1 an | environ 1 an | dans environ 1 an | +| 2001-01-01T00:00:00.000Z | environ 1 an | environ 1 an | dans environ 1 an | +| 2000-06-01T00:00:00.000Z | 5 mois | 5 mois | dans 5 mois | +| 2000-03-01T00:00:00.000Z | 2 mois | 2 mois | dans 2 mois | +| 2000-02-01T00:00:00.000Z | environ 1 mois | environ 1 mois | dans environ 1 mois | +| 2000-01-15T00:00:00.000Z | 14 jours | 14 jours | dans 14 jours | +| 2000-01-02T00:00:00.000Z | 1 jour | 1 jour | dans 1 jour | +| 2000-01-01T06:00:00.000Z | environ 6 heures | environ 6 heures | dans environ 6 heures | +| 2000-01-01T01:00:00.000Z | environ 1 heure | environ 1 heure | dans environ 1 heure | +| 2000-01-01T00:45:00.000Z | environ 1 heure | environ 1 heure | dans environ 1 heure | +| 2000-01-01T00:30:00.000Z | 30 minutes | 30 minutes | dans 30 minutes | +| 2000-01-01T00:15:00.000Z | 15 minutes | 15 minutes | dans 15 minutes | +| 2000-01-01T00:01:00.000Z | 1 minute | 1 minute | dans 1 minute | +| 2000-01-01T00:00:25.000Z | moins d’une minute | 30 secondes | dans moins d’une minute | +| 2000-01-01T00:00:15.000Z | moins d’une minute | moins de 20 secondes | dans moins d’une minute | +| 2000-01-01T00:00:05.000Z | moins d’une minute | moins de 10 secondes | dans moins d’une minute | +| 2000-01-01T00:00:00.000Z | moins d’une minute | moins de 5 secondes | il y a moins d’une minute | +| 1999-12-31T23:59:55.000Z | moins d’une minute | moins de 10 secondes | il y a moins d’une minute | +| 1999-12-31T23:59:45.000Z | moins d’une minute | moins de 20 secondes | il y a moins d’une minute | +| 1999-12-31T23:59:35.000Z | moins d’une minute | 30 secondes | il y a moins d’une minute | +| 1999-12-31T23:59:00.000Z | 1 minute | 1 minute | il y a 1 minute | +| 1999-12-31T23:45:00.000Z | 15 minutes | 15 minutes | il y a 15 minutes | +| 1999-12-31T23:30:00.000Z | 30 minutes | 30 minutes | il y a 30 minutes | +| 1999-12-31T23:15:00.000Z | environ 1 heure | environ 1 heure | il y a environ 1 heure | +| 1999-12-31T23:00:00.000Z | environ 1 heure | environ 1 heure | il y a environ 1 heure | +| 1999-12-31T18:00:00.000Z | environ 6 heures | environ 6 heures | il y a environ 6 heures | +| 1999-12-30T00:00:00.000Z | 2 jours | 2 jours | il y a 2 jours | +| 1999-12-15T00:00:00.000Z | 17 jours | 17 jours | il y a 17 jours | +| 1999-12-01T00:00:00.000Z | environ 1 mois | environ 1 mois | il y a environ 1 mois | +| 1999-11-01T00:00:00.000Z | 2 mois | 2 mois | il y a 2 mois | +| 1999-06-01T00:00:00.000Z | 7 mois | 7 mois | il y a 7 mois | +| 1999-01-01T00:00:00.000Z | environ 1 an | environ 1 an | il y a environ 1 an | +| 1998-12-01T00:00:00.000Z | environ 1 an | environ 1 an | il y a environ 1 an | +| 1998-06-01T00:00:00.000Z | plus d’un an | plus d’un an | il y a plus d’un an | +| 1998-01-01T00:00:00.000Z | environ 2 ans | environ 2 ans | il y a environ 2 ans | +| 1997-01-01T00:00:00.000Z | environ 3 ans | environ 3 ans | il y a environ 3 ans | +| 1996-01-01T00:00:00.000Z | environ 4 ans | environ 4 ans | il y a environ 4 ans | +| 1995-01-01T00:00:00.000Z | environ 5 ans | environ 5 ans | il y a environ 5 ans | +| 1994-01-01T00:00:00.000Z | environ 6 ans | environ 6 ans | il y a environ 6 ans | + +## `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 ans | dans 6 ans | 52608 heures | +| 2005-01-01T00:00:00.000Z | 5 ans | dans 5 ans | 43848 heures | +| 2004-01-01T00:00:00.000Z | 4 ans | dans 4 ans | 35064 heures | +| 2003-01-01T00:00:00.000Z | 3 ans | dans 3 ans | 26304 heures | +| 2002-01-01T00:00:00.000Z | 2 ans | dans 2 ans | 17544 heures | +| 2001-06-01T00:00:00.000Z | 1 an | dans 1 an | 12408 heures | +| 2001-02-01T00:00:00.000Z | 1 an | dans 1 an | 9528 heures | +| 2001-01-01T00:00:00.000Z | 1 an | dans 1 an | 8784 heures | +| 2000-06-01T00:00:00.000Z | 5 mois | dans 5 mois | 3648 heures | +| 2000-03-01T00:00:00.000Z | 2 mois | dans 2 mois | 1440 heures | +| 2000-02-01T00:00:00.000Z | 1 mois | dans 1 mois | 744 heures | +| 2000-01-15T00:00:00.000Z | 14 jours | dans 14 jours | 336 heures | +| 2000-01-02T00:00:00.000Z | 1 jour | dans 1 jour | 24 heures | +| 2000-01-01T06:00:00.000Z | 6 heures | dans 6 heures | 6 heures | +| 2000-01-01T01:00:00.000Z | 1 heure | dans 1 heure | 1 heure | +| 2000-01-01T00:45:00.000Z | 45 minutes | dans 45 minutes | 1 heure | +| 2000-01-01T00:30:00.000Z | 30 minutes | dans 30 minutes | 1 heure | +| 2000-01-01T00:15:00.000Z | 15 minutes | dans 15 minutes | 0 heures | +| 2000-01-01T00:01:00.000Z | 1 minute | dans 1 minute | 0 heures | +| 2000-01-01T00:00:25.000Z | 25 secondes | dans 25 secondes | 0 heures | +| 2000-01-01T00:00:15.000Z | 15 secondes | dans 15 secondes | 0 heures | +| 2000-01-01T00:00:05.000Z | 5 secondes | dans 5 secondes | 0 heures | +| 2000-01-01T00:00:00.000Z | 0 secondes | il y a 0 secondes | 0 heures | +| 1999-12-31T23:59:55.000Z | 5 secondes | il y a 5 secondes | 0 heures | +| 1999-12-31T23:59:45.000Z | 15 secondes | il y a 15 secondes | 0 heures | +| 1999-12-31T23:59:35.000Z | 25 secondes | il y a 25 secondes | 0 heures | +| 1999-12-31T23:59:00.000Z | 1 minute | il y a 1 minute | 0 heures | +| 1999-12-31T23:45:00.000Z | 15 minutes | il y a 15 minutes | 0 heures | +| 1999-12-31T23:30:00.000Z | 30 minutes | il y a 30 minutes | 1 heure | +| 1999-12-31T23:15:00.000Z | 45 minutes | il y a 45 minutes | 1 heure | +| 1999-12-31T23:00:00.000Z | 1 heure | il y a 1 heure | 1 heure | +| 1999-12-31T18:00:00.000Z | 6 heures | il y a 6 heures | 6 heures | +| 1999-12-30T00:00:00.000Z | 2 jours | il y a 2 jours | 48 heures | +| 1999-12-15T00:00:00.000Z | 17 jours | il y a 17 jours | 408 heures | +| 1999-12-01T00:00:00.000Z | 1 mois | il y a 1 mois | 744 heures | +| 1999-11-01T00:00:00.000Z | 2 mois | il y a 2 mois | 1464 heures | +| 1999-06-01T00:00:00.000Z | 7 mois | il y a 7 mois | 5136 heures | +| 1999-01-01T00:00:00.000Z | 1 an | il y a 1 an | 8760 heures | +| 1998-12-01T00:00:00.000Z | 1 an | il y a 1 an | 9504 heures | +| 1998-06-01T00:00:00.000Z | 2 ans | il y a 2 ans | 13896 heures | +| 1998-01-01T00:00:00.000Z | 2 ans | il y a 2 ans | 17520 heures | +| 1997-01-01T00:00:00.000Z | 3 ans | il y a 3 ans | 26280 heures | +| 1996-01-01T00:00:00.000Z | 4 ans | il y a 4 ans | 35064 heures | +| 1995-01-01T00:00:00.000Z | 5 ans | il y a 5 ans | 43824 heures | +| 1994-01-01T00:00:00.000Z | 6 ans | il y a 6 ans | 52584 heures | + +## `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 | mercredi prochain à 00:00 | +| 2000-01-02T00:00:00.000Z | demain à 00:00 | +| 2000-01-01T00:00:00.000Z | aujourd’hui à 00:00 | +| 1999-12-31T00:00:00.000Z | hier à 00:00 | +| 1999-12-27T00:00:00.000Z | lundi dernier à 00:00 | +| 1999-12-21T00:00:00.000Z | 21/12/1999 | |