1956 lines
69 KiB
Markdown
1956 lines
69 KiB
Markdown
# Change Log
|
||
|
||
All notable changes to this project will be documented in this file.
|
||
This project adheres to [Semantic Versioning].
|
||
|
||
This change log follows the format documented in [Keep a CHANGELOG].
|
||
|
||
[semantic versioning]: http://semver.org/
|
||
[keep a changelog]: http://keepachangelog.com/
|
||
|
||
## [2.8.0] - 2019-11-19
|
||
|
||
Kudos to [@NaridaL](https://github.com/NaridaL), [@Zyten](https://github.com/Zyten), [@Imballinst](https://github.com/Imballinst), [@leshakoss](https://github.com/leshakoss) and [@Neorth](https://github.com/Neorth) for working on the release.
|
||
|
||
### Fixed
|
||
|
||
- [Remove the next week preposition in the Swedish locale](https://github.com/date-fns/date-fns/pull/1538).
|
||
|
||
### Added
|
||
|
||
- [Added Malay (ms) locale](https://github.com/date-fns/date-fns/pull/1537).
|
||
- [Added `formatISO`, `formatISO9075`, `formatRFC3339`, and `formatRFC7231` functions](https://github.com/date-fns/date-fns/pull/1536).
|
||
|
||
## [2.7.0] - 2019-11-07
|
||
|
||
Thanks to [@mzgajner](https://github.com/mzgajner), [@NaridaL](https://github.com/NaridaL), [@Zyten](https://github.com/Zyten), [@leshakoss](https://github.com/leshakoss), [@fintara](https://github.com/fintara), [@kpr-hellofresh](https://github.com/kpr-hellofresh) for contributing to the release.
|
||
|
||
### Fixed
|
||
|
||
- [Fixed a mistake in the Slovenian locale](https://github.com/date-fns/date-fns/pull/1529).
|
||
- [Fixed incorrect behavior of `parseISO` in Firefox caused by differences in `getTimezoneOffset`](https://github.com/date-fns/date-fns/pull/1495).
|
||
|
||
### Changed
|
||
|
||
- [Make object arguments types more elaborate in Flow type definitions](https://github.com/date-fns/date-fns/pull/1519).
|
||
- [Get rid of deprecated Function in Flow type definitions](https://github.com/date-fns/date-fns/pull/1520).
|
||
- [Allow `parseJSON` to accept strings without trailing 'Z' symbol and with up to 6 digits in the milliseconds' field](https://github.com/date-fns/date-fns/pull/1499).
|
||
|
||
### Added
|
||
|
||
- [Added Bulgarian (bg) locale](https://github.com/date-fns/date-fns/pull/1522).
|
||
|
||
## [2.6.0] - 2019-10-22
|
||
|
||
Kudos to [@marnusw](https://github.com/marnusw), [@cdrikd](https://github.com/cdrikd) and [@rogyvoje](https://github.com/rogyvoje) for working on the release!
|
||
|
||
### Added
|
||
|
||
- [Added `parseJSON` - lightweight function (just 411 B) that parses dates formatted with `toJSON`](https://github.com/date-fns/date-fns/pull/1463).
|
||
- [Added the language code to each locale](https://github.com/date-fns/date-fns/pull/1489).
|
||
- [Added `subBusinessDays` function](https://github.com/date-fns/date-fns/pull/1491).
|
||
- [Added both Serbian - cyrillic (sr) and latin (sr-Latn) locales](https://github.com/date-fns/date-fns/pull/1494).
|
||
|
||
## [2.5.1] - 2019-10-18
|
||
|
||
Thanks to [@mitchellbutler](https://github.com/mitchellbutler) for the bug fix!
|
||
|
||
### Fixed
|
||
|
||
- [Fixed infinite loop in `addBusinessDays`](https://github.com/date-fns/date-fns/pull/1486).
|
||
|
||
## [2.5.0] - 2019-10-16
|
||
|
||
Kudos to [@dkozickis](https://github.com/dkozickis), [@drugoi](https://github.com/drugoi), [@kranthilakum](https://github.com/kranthilakum), [@102](https://github.com/102), [@gpetrioli](https://github.com/gpetrioli) and [@JulienMalige](https://github.com/JulienMalige) for making the release happen.
|
||
|
||
### Fixed
|
||
|
||
- [Fixed compatibility with IE11 by removing `findIndex` from the code](https://github.com/date-fns/date-fns/pull/1457).
|
||
- [Fixed Greek locale patterns](https://github.com/date-fns/date-fns/pull/1480).
|
||
|
||
### Added
|
||
|
||
- [Added Kazakh (kk) locale](https://github.com/date-fns/date-fns/pull/1460).
|
||
- [Added Telugu (te) locale](https://github.com/date-fns/date-fns/pull/1464).
|
||
- [Added Canadian French (fr-CA) locale](https://github.com/date-fns/date-fns/issues/1465).
|
||
- [Added Australian English (en-AU) locale](https://github.com/date-fns/date-fns/pull/1470).
|
||
- [Exported `Interval` and `Locale` types from Flow typings](https://github.com/date-fns/date-fns/pull/1475).
|
||
|
||
## [2.4.1] - 2019-09-28
|
||
|
||
Thanks to [@mrclayman](https://github.com/mrclayman) for reporting the issue and [@leshakoss](https://github.com/leshakoss) for fixing it.
|
||
|
||
### Fixed
|
||
|
||
- [Fixed am/pm mixup in the Czech locale](https://github.com/date-fns/date-fns/pull/1453).
|
||
|
||
## [2.4.0] - 2019-09-27
|
||
|
||
This release brought to you by these amazing people: [@lovelovedokidoki](https://github.com/lovelovedokidoki), [@alexigityan](https://github.com/alexigityan), [@kalekseev](https://github.com/kalekseev) and [@andybangs](https://github.com/andybangs). You rock!
|
||
|
||
### Fixed
|
||
|
||
- [Fixed Vietnamese parsing patterns](https://github.com/date-fns/date-fns/pull/1445).
|
||
- [Fixed Czech parsing regexes](https://github.com/date-fns/date-fns/pull/1446).
|
||
- [Fixed offset for Eastern Hemisphere in `parseISO`](https://github.com/date-fns/date-fns/pull/1450).
|
||
|
||
### Added
|
||
|
||
- [Added Armenian locale support](https://github.com/date-fns/date-fns/pull/1448).
|
||
|
||
## [2.3.0] - 2019-09-24
|
||
|
||
Huge thanks to [@lovelovedokidoki](https://github.com/lovelovedokidoki) who improved 8 (!) locales in an unstoppable open-source rampage and [@VesterDe](https://github.com/VesterDe) for fixing Slovenian locale 👏
|
||
|
||
### Fixed
|
||
|
||
- [Fixed the translation of "yesterday" in the Slovenian locale](https://github.com/date-fns/date-fns/pull/1420).
|
||
- [Fixed French parsing issues with June and August](https://github.com/date-fns/date-fns/pull/1430).
|
||
- [Improved Turkish parsing](https://github.com/date-fns/date-fns/pull/1432).
|
||
- [Fixed "March" in Dutch parsing patterns](https://github.com/date-fns/date-fns/pull/1433).
|
||
- [Fixed Hindi parsing patterns](https://github.com/date-fns/date-fns/pull/1434).
|
||
|
||
### Added
|
||
|
||
- [Added Finnish matching patterns](https://github.com/date-fns/date-fns/pull/1425).
|
||
- [Accept abbreviated March, June, July in Norwegian locales](https://github.com/date-fns/date-fns/pull/1431).
|
||
- [Added parsing for Greek months with long formatting](https://github.com/date-fns/date-fns/pull/1435).
|
||
|
||
## [2.2.1] - 2019-09-12
|
||
|
||
Kudos to date-fns contributors: [@mzgajner](https://github.com/mzgajner), [@sibiraj-s](https://github.com/sibiraj-s), [@mukeshmandiwal](https://github.com/mukeshmandiwal), [@SneakyFish5](https://github.com/SneakyFish5) and [@CarterLi](https://github.com/CarterLi).
|
||
|
||
### Added
|
||
|
||
- [Added new `set` function](https://github.com/date-fns/date-fns/pull/1398).
|
||
- [Updated Slovenian (sl) locale for v2](https://github.com/date-fns/date-fns/pull/1418).
|
||
- [Added Tamil (ta) locale](https://github.com/date-fns/date-fns/pull/1411).
|
||
- [Added Hindi (hi) locale](https://github.com/date-fns/date-fns/pull/1409).
|
||
- [Added support of `\n` in `format`, `lightFormat` and `parse`](https://github.com/date-fns/date-fns/pull/1417).
|
||
|
||
## [2.1.0] - 2019-09-06
|
||
|
||
Thanks to date-fns contributors: [@ManadayM](https://github.com/ManadayM), [@illuminist](https://github.com/illuminist), [@visualfanatic](https://github.com/visualfanatic), [@vsaarinen](https://github.com/vsaarinen) and at least but not least [@leshakoss](https://github.com/leshakoss)!
|
||
|
||
### Fixed
|
||
|
||
- [Set start of the week to the Sunday for Thai locale](https://github.com/date-fns/date-fns/pull/1402).
|
||
- [Fixed month matching in Polish locale](https://github.com/date-fns/date-fns/pull/1404).
|
||
- [Fixed `eachWeekendOfInterval` skipping the first date in the supplied interval](https://github.com/date-fns/date-fns/pull/1407).
|
||
|
||
### Added
|
||
|
||
- [Added Gujarati locale](https://github.com/date-fns/date-fns/pull/1400).
|
||
|
||
## [2.0.1] - 2019-08-23
|
||
|
||
### Fixed
|
||
|
||
- [Fix](https://github.com/date-fns/date-fns/pull/1046) `getWeekOfMonth` with `options.weekStartsOn` set to 1 [not working for Sundays](https://github.com/date-fns/date-fns/issues/1040). Kudos to [@waseemahmad31](https://github.com/waseemahmad31)!
|
||
|
||
## [2.0.0] - 2019-08-20
|
||
|
||
If you're upgrading from v2 alpha or beta, [see the pre-release changelog](https://gist.github.com/kossnocorp/a307a464760b405bb78ef5020a4ab136).
|
||
|
||
### Fixed
|
||
|
||
- Fix the `toDate` bug occurring when parsing ISO-8601 style dates (but not valid ISO format)
|
||
with a trailing Z (e.g `2012-01Z`), it returned Invalid Date for FireFox/IE11 [#510](https://github.com/date-fns/date-fns/issue/510)
|
||
|
||
- Fix `differenceIn...` functions returning negative zero in some cases:
|
||
[#692](https://github.com/date-fns/date-fns/issues/692)
|
||
|
||
- `isDate` now works properly with dates passed across iframes [#754](https://github.com/date-fns/date-fns/pull/754).
|
||
|
||
- Fix a few bugs that appear in timezones with offsets that include seconds (e.g. GMT+00:57:44).
|
||
See PR [#789](https://github.com/date-fns/date-fns/pull/789).
|
||
|
||
- [Fixed DST issue](https://github.com/date-fns/date-fns/pull/1003). See [#972](https://github.com/date-fns/date-fns/issues/972) and [#992](https://github.com/date-fns/date-fns/issues/992) for more details.
|
||
|
||
- Fixed DST issue in `eachDayOfInterval` that caused time in the days
|
||
after DST change to have the shift as well.
|
||
|
||
- Fix bug in Galician locale caused by incorrect usage of `getHours`
|
||
instead of `getUTCHours`.
|
||
|
||
### Changed
|
||
|
||
- **BREAKING**: now functions don't accept string arguments, but only
|
||
numbers or dates. When a string is passed, it will result in
|
||
an unexpected result (`Invalid Date`, `NaN`, etc).
|
||
|
||
From now on a string should be parsed using `parseISO` (ISO 8601)
|
||
or `parse`.
|
||
|
||
In v1 we've used `new Date()` to parse strings, but it resulted in many
|
||
hard-to-track bugs caused by inconsistencies in different browsers.
|
||
To address that we've implemented our ISO 8601 parser but that made
|
||
library to significantly grow in size. To prevent inevitable bugs
|
||
and keep the library tiny, we made this trade-off.
|
||
|
||
See [this post](https://blog.date-fns.org/post/we-cut-date-fns-v2-minimal-build-size-down-to-300-bytes-and-now-its-the-smallest-date-library-18f2nvh2z0yal) for more details.
|
||
|
||
```javascript
|
||
// Before v2.0.0
|
||
addDays('2016-01-01', 1)
|
||
|
||
// v2.0.0 onward
|
||
addDays(parseISO('2016-01-01'), 1)
|
||
```
|
||
|
||
- **BREAKING**: new format string API for `format` function
|
||
which is based on [Unicode Technical Standard #35](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table).
|
||
See [this post](https://blog.date-fns.org/post/unicode-tokens-in-date-fns-v2-sreatyki91jg) for more details.
|
||
|
||
| Unit | v2 Pattern | v1 Pattern | Result examples |
|
||
| ------------------------------- | ---------- | ---------- | --------------------------------- |
|
||
| Era | G..GGG | | AD, BC |
|
||
| | GGGG | | Anno Domini, Before Christ |
|
||
| | GGGGG | | A, B |
|
||
| Calendar year | y | | 44, 1, 1900, 2017 |
|
||
| | yo | | 44th, 1st, 0th, 17th |
|
||
| | yy | YY | 44, 01, 00, 17 |
|
||
| | yyy | | 044, 001, 1900, 2017 |
|
||
| | yyyy | YYYY | 0044, 0001, 1900, 2017 |
|
||
| | yyyyy | | ... |
|
||
| Local week-numbering year | Y | | 44, 1, 1900, 2017 |
|
||
| | Yo | | 44th, 1st, 1900th, 2017th |
|
||
| | YY | | 44, 01, 00, 17 |
|
||
| | YYY | | 044, 001, 1900, 2017 |
|
||
| | YYYY | | 0044, 0001, 1900, 2017 |
|
||
| | YYYYY | | ... |
|
||
| ISO week-numbering year | R | | -43, 0, 1, 1900, 2017 |
|
||
| | RR | GG | -43, 00, 01, 1900, 2017 |
|
||
| | RRR | | -043, 000, 001, 1900, 2017 |
|
||
| | RRRR | GGGG | -0043, 0000, 0001, 1900, 2017 |
|
||
| | RRRRR | | ... |
|
||
| Extended year | u | | -43, 0, 1, 1900, 2017 |
|
||
| | uu | | -43, 01, 1900, 2017 |
|
||
| | uuu | | -043, 001, 1900, 2017 |
|
||
| | uuuu | | -0043, 0001, 1900, 2017 |
|
||
| | uuuuu | | ... |
|
||
| Quarter (formatting) | Q | | 1, 2, 3, 4 |
|
||
| | Qo | | 1st, 2nd, 3rd, 4th |
|
||
| | QQ | | 01, 02, 03, 04 |
|
||
| | QQQ | | Q1, Q2, Q3, Q4 |
|
||
| | QQQQ | | 1st quarter, 2nd quarter, ... |
|
||
| | QQQQQ | | 1, 2, 3, 4 |
|
||
| Quarter (stand-alone) | q | Q | 1, 2, 3, 4 |
|
||
| | qo | Qo | 1st, 2nd, 3rd, 4th |
|
||
| | qq | | 01, 02, 03, 04 |
|
||
| | qqq | | Q1, Q2, Q3, Q4 |
|
||
| | qqqq | | 1st quarter, 2nd quarter, ... |
|
||
| | qqqqq | | 1, 2, 3, 4 |
|
||
| Month (formatting) | M | | 1, 2, ..., 12 |
|
||
| | Mo | | 1st, 2nd, ..., 12th |
|
||
| | MM | | 01, 02, ..., 12 |
|
||
| | MMM | | Jan, Feb, ..., Dec |
|
||
| | MMMM | | January, February, ..., December |
|
||
| | MMMMM | | J, F, ..., D |
|
||
| Month (stand-alone) | L | M | 1, 2, ..., 12 |
|
||
| | Lo | | 1st, 2nd, ..., 12th |
|
||
| | LL | MM | 01, 02, ..., 12 |
|
||
| | LLL | MMM | Jan, Feb, ..., Dec |
|
||
| | LLLL | MMMM | January, February, ..., December |
|
||
| | LLLLL | | J, F, ..., D |
|
||
| Local week of year | w | | 1, 2, ..., 53 |
|
||
| | wo | | 1st, 2nd, ..., 53th |
|
||
| | ww | | 01, 02, ..., 53 |
|
||
| ISO week of year | I | W | 1, 2, ..., 53 |
|
||
| | Io | Wo | 1st, 2nd, ..., 53th |
|
||
| | II | WW | 01, 02, ..., 53 |
|
||
| Day of month | d | D | 1, 2, ..., 31 |
|
||
| | do | Do | 1st, 2nd, ..., 31st |
|
||
| | dd | DD | 01, 02, ..., 31 |
|
||
| Day of year | D | DDD | 1, 2, ..., 365, 366 |
|
||
| | Do | DDDo | 1st, 2nd, ..., 365th, 366th |
|
||
| | DD | | 01, 02, ..., 365, 366 |
|
||
| | DDD | DDDD | 001, 002, ..., 365, 366 |
|
||
| | DDDD | | ... |
|
||
| Day of week (formatting) | E..EEE | | Mon, Tue, Wed, ..., Su |
|
||
| | EEEE | | Monday, Tuesday, ..., Sunday |
|
||
| | EEEEE | | M, T, W, T, F, S, S |
|
||
| | EEEEEE | | Mo, Tu, We, Th, Fr, Su, Sa |
|
||
| ISO day of week (formatting) | i | E | 1, 2, 3, ..., 7 |
|
||
| | io | do | 1st, 2nd, ..., 7th |
|
||
| | ii | | 01, 02, ..., 07 |
|
||
| | iii | ddd | Mon, Tue, Wed, ..., Su |
|
||
| | iiii | dddd | Monday, Tuesday, ..., Sunday |
|
||
| | iiiii | | M, T, W, T, F, S, S |
|
||
| | iiiiii | dd | Mo, Tu, We, Th, Fr, Su, Sa |
|
||
| Local day of week (formatting) | e | | 2, 3, 4, ..., 1 |
|
||
| | eo | | 2nd, 3rd, ..., 1st |
|
||
| | ee | | 02, 03, ..., 01 |
|
||
| | eee | | Mon, Tue, Wed, ..., Su |
|
||
| | eeee | | Monday, Tuesday, ..., Sunday |
|
||
| | eeeee | | M, T, W, T, F, S, S |
|
||
| | eeeeee | | Mo, Tu, We, Th, Fr, Su, Sa |
|
||
| Local day of week (stand-alone) | c | | 2, 3, 4, ..., 1 |
|
||
| | co | | 2nd, 3rd, ..., 1st |
|
||
| | cc | | 02, 03, ..., 01 |
|
||
| | ccc | | Mon, Tue, Wed, ..., Su |
|
||
| | cccc | | Monday, Tuesday, ..., Sunday |
|
||
| | ccccc | | M, T, W, T, F, S, S |
|
||
| | cccccc | | Mo, Tu, We, Th, Fr, Su, Sa |
|
||
| AM, PM | a..aaa | A | AM, PM |
|
||
| | aaaa | aa | a.m., p.m. |
|
||
| | aaaaa | | a, p |
|
||
| AM, PM, noon, midnight | b..bbb | | AM, PM, noon, midnight |
|
||
| | bbbb | | a.m., p.m., noon, midnight |
|
||
| | bbbbb | | a, p, n, mi |
|
||
| Flexible day period | B..BBB | | at night, in the morning, ... |
|
||
| | BBBB | | at night, in the morning, ... |
|
||
| | BBBBB | | at night, in the morning, ... |
|
||
| Hour [1-12] | h | | 1, 2, ..., 11, 12 |
|
||
| | ho | | 1st, 2nd, ..., 11th, 12th |
|
||
| | hh | | 01, 02, ..., 11, 12 |
|
||
| Hour [0-23] | H | | 0, 1, 2, ..., 23 |
|
||
| | Ho | | 0th, 1st, 2nd, ..., 23rd |
|
||
| | HH | | 00, 01, 02, ..., 23 |
|
||
| Hour [0-11] | K | | 1, 2, ..., 11, 0 |
|
||
| | Ko | | 1st, 2nd, ..., 11th, 0th |
|
||
| | KK | | 1, 2, ..., 11, 0 |
|
||
| Hour [1-24] | k | | 24, 1, 2, ..., 23 |
|
||
| | ko | | 24th, 1st, 2nd, ..., 23rd |
|
||
| | kk | | 24, 01, 02, ..., 23 |
|
||
| Minute | m | | 0, 1, ..., 59 |
|
||
| | mo | | 0th, 1st, ..., 59th |
|
||
| | mm | | 00, 01, ..., 59 |
|
||
| Second | s | | 0, 1, ..., 59 |
|
||
| | so | | 0th, 1st, ..., 59th |
|
||
| | ss | | 00, 01, ..., 59 |
|
||
| Fraction of second | S | | 0, 1, ..., 9 |
|
||
| | SS | | 00, 01, ..., 99 |
|
||
| | SSS | | 000, 0001, ..., 999 |
|
||
| | SSSS | | ... |
|
||
| Timezone (ISO-8601 w/ Z) | X | | -08, +0530, Z |
|
||
| | XX | | -0800, +0530, Z |
|
||
| | XXX | | -08:00, +05:30, Z |
|
||
| | XXXX | | -0800, +0530, Z, +123456 |
|
||
| | XXXXX | | -08:00, +05:30, Z, +12:34:56 |
|
||
| Timezone (ISO-8601 w/o Z) | x | | -08, +0530, +00 |
|
||
| | xx | ZZ | -0800, +0530, +0000 |
|
||
| | xxx | Z | -08:00, +05:30, +00:00 |
|
||
| | xxxx | | -0800, +0530, +0000, +123456 |
|
||
| | xxxxx | | -08:00, +05:30, +00:00, +12:34:56 |
|
||
| Timezone (GMT) | O...OOO | | GMT-8, GMT+5:30, GMT+0 |
|
||
| | OOOO | | GMT-08:00, GMT+05:30, GMT+00:00 |
|
||
| Timezone (specific non-locat.) | z...zzz | | GMT-8, GMT+5:30, GMT+0 |
|
||
| | zzzz | | GMT-08:00, GMT+05:30, GMT+00:00 |
|
||
| Seconds timestamp | t | X | 512969520 |
|
||
| | tt | | ... |
|
||
| Milliseconds timestamp | T | x | 512969520900 |
|
||
| | TT | | ... |
|
||
| Long localized date | P | | 5/29/53 |
|
||
| | PP | | May 29, 1453 |
|
||
| | PPP | | May 29th, 1453 |
|
||
| | PPPP | | Sunday, May 29th, 1453 |
|
||
| Long localized time | p | | 12:00 AM |
|
||
| | pp | | 12:00:00 AM |
|
||
| | ppp | | 12:00:00 AM GMT+2 |
|
||
| | pppp | | 12:00:00 AM GMT+02:00 |
|
||
| Combination of date and time | Pp | | 5/29/53, 12:00 AM |
|
||
| | PPpp | | May 29, 1453, 12:00 AM |
|
||
| | PPPppp | | May 29th, 1453 at ... |
|
||
| | PPPPpppp | | Sunday, May 29th, 1453 at ... |
|
||
|
||
Characters are now escaped using single quote symbols (`'`) instead of square brackets.
|
||
`format` now throws RangeError if it encounters an unescaped latin character
|
||
that isn't a valid formatting token.
|
||
|
||
To use `YY` and `YYYY` tokens that represent week-numbering years,
|
||
you should set `useAdditionalWeekYearTokens` option:
|
||
|
||
```javascript
|
||
format(Date.now(), 'YY', { useAdditionalWeekYearTokens: true })
|
||
//=> '86'
|
||
```
|
||
|
||
To use `D` and `DD` tokens which represent days of the year,
|
||
set `useAdditionalDayOfYearTokens` option:
|
||
|
||
```javascript
|
||
format(Date.now(), 'D', { useAdditionalDayOfYearTokens: true })
|
||
//=> '364'
|
||
```
|
||
|
||
- **BREAKING**: function submodules now use camelCase naming schema:
|
||
|
||
```javascript
|
||
// Before v2.0.0
|
||
import differenceInCalendarISOYears from 'date-fns/difference_in_calendar_iso_years'
|
||
|
||
// v2.0.0 onward
|
||
import differenceInCalendarISOYears from 'date-fns/differenceInCalendarISOYears'
|
||
```
|
||
|
||
- **BREAKING**: min and max functions now accept an array of dates
|
||
rather than spread arguments.
|
||
|
||
```javascript
|
||
// Before v2.0.0
|
||
var date1 = new Date(1989, 6 /* Jul */, 10)
|
||
var date2 = new Date(1987, 1 /* Feb */, 11)
|
||
|
||
var minDate = min(date1, date2)
|
||
var maxDate = max(date1, date2)
|
||
|
||
// v2.0.0 onward:
|
||
var dates = [new Date(1989, 6 /* Jul */, 10), new Date(1987, 1 /* Feb */, 11)]
|
||
|
||
var minDate = min(dates)
|
||
var maxDate = max(dates)
|
||
```
|
||
|
||
- **BREAKING**: make the second argument of `format` required for the sake of explicitness.
|
||
|
||
```javascript
|
||
// Before v2.0.0
|
||
format(new Date(2016, 0, 1))
|
||
|
||
// v2.0.0 onward
|
||
format(new Date(2016, 0, 1), "yyyy-MM-dd'T'HH:mm:ss.SSSxxx")
|
||
```
|
||
|
||
- **BREAKING** renamed ISO week-numbering year helpers:
|
||
|
||
- `addISOYears` → `addISOWeekYears`
|
||
- `differenceInCalendarISOYears` → `differenceInCalendarISOWeekYears`
|
||
- `differenceInISOYears` → `differenceInISOWeekYears`
|
||
- `endOfISOYear` → `endOfISOWeekYear`
|
||
- `getISOYear` → `getISOWeekYear`
|
||
- `isSameISOYear` → `isSameISOWeekYear`
|
||
- `lastDayOfISOYear` → `lastDayOfISOWeekYear`
|
||
- `setISOYear` → `setISOWeekYear`
|
||
- `subISOYears` → `subISOWeekYears`
|
||
|
||
i.e. "ISO year" renamed to "ISO week year", which is short for
|
||
[ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date).
|
||
It makes them consistent with locale-dependent week-numbering year helpers,
|
||
e.g., `startOfWeekYear`.
|
||
|
||
- **BREAKING**: functions renamed:
|
||
|
||
- `areRangesOverlapping` → `areIntervalsOverlapping`
|
||
- `eachDay` → `eachDayOfInterval`
|
||
- `getOverlappingDaysInRanges` → `getOverlappingDaysInIntervals`
|
||
- `isWithinRange` → `isWithinInterval`
|
||
|
||
This change was made to mirror the use of the word "interval" in standard ISO 8601:2004 terminology:
|
||
|
||
```
|
||
2.1.3
|
||
time interval
|
||
part of the time axis limited by two instants
|
||
```
|
||
|
||
Also these functions now accept an object with `start` and `end` properties
|
||
instead of two arguments as an interval. All these functions
|
||
throw `RangeError` if the start of the interval is after its end
|
||
or if any date in the interval is `Invalid Date`.
|
||
|
||
```javascript
|
||
// Before v2.0.0
|
||
|
||
areRangesOverlapping(
|
||
new Date(2014, 0, 10),
|
||
new Date(2014, 0, 20),
|
||
new Date(2014, 0, 17),
|
||
new Date(2014, 0, 21)
|
||
)
|
||
|
||
eachDay(new Date(2014, 0, 10), new Date(2014, 0, 20))
|
||
|
||
getOverlappingDaysInRanges(
|
||
new Date(2014, 0, 10),
|
||
new Date(2014, 0, 20),
|
||
new Date(2014, 0, 17),
|
||
new Date(2014, 0, 21)
|
||
)
|
||
|
||
isWithinRange(
|
||
new Date(2014, 0, 3),
|
||
new Date(2014, 0, 1),
|
||
new Date(2014, 0, 7)
|
||
)
|
||
|
||
// v2.0.0 onward
|
||
|
||
areIntervalsOverlapping(
|
||
{ start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },
|
||
{ start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) }
|
||
)
|
||
|
||
eachDayOfInterval({
|
||
start: new Date(2014, 0, 10),
|
||
end: new Date(2014, 0, 20)
|
||
})
|
||
|
||
getOverlappingDaysInIntervals(
|
||
{ start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },
|
||
{ start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) }
|
||
)
|
||
|
||
isWithinInterval(new Date(2014, 0, 3), {
|
||
start: new Date(2014, 0, 1),
|
||
end: new Date(2014, 0, 7)
|
||
})
|
||
```
|
||
|
||
- **BREAKING**: functions renamed:
|
||
|
||
- `distanceInWords` → `formatDistance`
|
||
- `distanceInWordsStrict` → `formatDistanceStrict`
|
||
- `distanceInWordsToNow` → `formatDistanceToNow`
|
||
|
||
to make them consistent with `format` and `formatRelative`.
|
||
|
||
- **BREAKING**: The order of arguments of `distanceInWords` and `distanceInWordsStrict`
|
||
is swapped to make them consistent with `differenceIn...` functions.
|
||
|
||
```javascript
|
||
// Before v2.0.0
|
||
|
||
distanceInWords(
|
||
new Date(1986, 3, 4, 10, 32, 0),
|
||
new Date(1986, 3, 4, 11, 32, 0),
|
||
{ addSuffix: true }
|
||
) //=> 'in about 1 hour'
|
||
|
||
// v2.0.0 onward
|
||
|
||
formatDistance(
|
||
new Date(1986, 3, 4, 11, 32, 0),
|
||
new Date(1986, 3, 4, 10, 32, 0),
|
||
{ addSuffix: true }
|
||
) //=> 'in about 1 hour'
|
||
```
|
||
|
||
- **BREAKING**: `partialMethod` option in `formatDistanceStrict` is renamed to `roundingMethod`.
|
||
|
||
```javascript
|
||
// Before v2.0.0
|
||
|
||
distanceInWordsStrict(
|
||
new Date(1986, 3, 4, 10, 32, 0),
|
||
new Date(1986, 3, 4, 10, 33, 1),
|
||
{ partialMethod: 'ceil' }
|
||
) //=> '2 minutes'
|
||
|
||
// v2.0.0 onward
|
||
|
||
formatDistanceStrict(
|
||
new Date(1986, 3, 4, 10, 33, 1),
|
||
new Date(1986, 3, 4, 10, 32, 0),
|
||
{ roundingMethod: 'ceil' }
|
||
) //=> '2 minutes'
|
||
```
|
||
|
||
- **BREAKING**: in `formatDistanceStrict`, if `roundingMethod` is not specified,
|
||
it now defaults to `round` instead of `floor`.
|
||
|
||
- **BREAKING**: `unit` option in `formatDistanceStrict` now accepts one of the strings:
|
||
'second', 'minute', 'hour', 'day', 'month' or 'year' instead of 's', 'm', 'h', 'd', 'M' or 'Y'
|
||
|
||
```javascript
|
||
// Before v2.0.0
|
||
|
||
distanceInWordsStrict(
|
||
new Date(1986, 3, 4, 10, 32, 0),
|
||
new Date(1986, 3, 4, 10, 33, 1),
|
||
{ unit: 'm' }
|
||
)
|
||
|
||
// v2.0.0 onward
|
||
|
||
formatDistanceStrict(
|
||
new Date(1986, 3, 4, 10, 33, 1),
|
||
new Date(1986, 3, 4, 10, 32, 0),
|
||
{ unit: 'minute' }
|
||
)
|
||
```
|
||
|
||
- **BREAKING**: `parse` that previously used to convert strings and
|
||
numbers to dates now parse only strings in an arbitrary format
|
||
specified as an argument. Use `toDate` to coerce numbers and `parseISO`
|
||
to parse ISO 8601 strings.
|
||
|
||
```javascript
|
||
// Before v2.0.0
|
||
parse('2016-01-01')
|
||
parse(1547005581366)
|
||
parse(new Date()) // Clone the date
|
||
|
||
// v2.0.0 onward
|
||
parse('2016-01-01', 'yyyy-MM-dd', new Date())
|
||
parseISO('2016-01-01')
|
||
toDate(1547005581366)
|
||
toDate(new Date()) // Clone the date
|
||
```
|
||
|
||
- **BREAKING**: `toDate` (previously `parse`) now doesn't accept string
|
||
arguments but only numbers and dates. `toDate` called with an invalid
|
||
argument will return `Invalid Date`.
|
||
|
||
- **BREAKING**: new locale format.
|
||
See [docs/Locale](https://date-fns.org/docs/Locale).
|
||
Locales renamed:
|
||
|
||
- `en` → `en-US`
|
||
- `zh_cn` → `zh-CN`
|
||
- `zh_tw` → `zh-TW`
|
||
|
||
```javascript
|
||
// Before v2.0.0
|
||
import locale from 'date-fns/locale/zh_cn'
|
||
|
||
// v2.0.0 onward
|
||
import locale from 'date-fns/locale/zh-CN'
|
||
```
|
||
|
||
- **BREAKING**: now `closestTo` and `closestIndexTo` don't throw an exception
|
||
when the second argument is not an array, and return Invalid Date instead.
|
||
|
||
- **BREAKING**: now `isValid` doesn't throw an exception
|
||
if the first argument is not an instance of Date.
|
||
Instead, argument is converted beforehand using `toDate`.
|
||
|
||
Examples:
|
||
|
||
| `isValid` argument | Before v2.0.0 | v2.0.0 onward |
|
||
| ------------------------- | ------------- | ------------- |
|
||
| `new Date()` | `true` | `true` |
|
||
| `new Date('2016-01-01')` | `true` | `true` |
|
||
| `new Date('')` | `false` | `false` |
|
||
| `new Date(1488370835081)` | `true` | `true` |
|
||
| `new Date(NaN)` | `false` | `false` |
|
||
| `'2016-01-01'` | `TypeError` | `false` |
|
||
| `''` | `TypeError` | `false` |
|
||
| `1488370835081` | `TypeError` | `true` |
|
||
| `NaN` | `TypeError` | `false` |
|
||
|
||
We introduce this change to make _date-fns_ consistent with ECMAScript behavior
|
||
that try to coerce arguments to the expected type
|
||
(which is also the case with other _date-fns_ functions).
|
||
|
||
- **BREAKING**: functions now throw `RangeError` if optional values passed to `options`
|
||
are not `undefined` or have expected values.
|
||
This change is introduced for consistency with ECMAScript standard library which does the same.
|
||
|
||
- **BREAKING**: `format`, `formatDistance` (previously `distanceInWords`) and
|
||
`formatDistanceStrict` (previously `distanceInWordsStrict`) now throw
|
||
`RangeError` if one the passed arguments is invalid. It reflects behavior of
|
||
`toISOString` and Intl API. See [#1032](https://github.com/date-fns/date-fns/pull/1032).
|
||
|
||
- **BREAKING**: all functions now implicitly convert arguments by following rules:
|
||
|
||
| | date | number | string | boolean |
|
||
| --------- | ------------ | ------ | ----------- | ------- |
|
||
| 0 | new Date(0) | 0 | '0' | false |
|
||
| '0' | Invalid Date | 0 | '0' | false |
|
||
| 1 | new Date(1) | 1 | '1' | true |
|
||
| '1' | Invalid Date | 1 | '1' | true |
|
||
| true | Invalid Date | NaN | 'true' | true |
|
||
| false | Invalid Date | NaN | 'false' | false |
|
||
| null | Invalid Date | NaN | 'null' | false |
|
||
| undefined | Invalid Date | NaN | 'undefined' | false |
|
||
| NaN | Invalid Date | NaN | 'NaN' | false |
|
||
|
||
Notes:
|
||
|
||
- as before, arguments expected to be `Date` are converted to `Date` using _date-fns'_ `toDate` function;
|
||
- arguments expected to be numbers are converted to integer numbers using our custom `toInteger` implementation
|
||
(see [#765](https://github.com/date-fns/date-fns/pull/765));
|
||
- arguments expected to be strings are converted to strings using JavaScript's `String` function;
|
||
- arguments expected to be booleans are converted to boolean using JavaScript's `Boolean` function.
|
||
|
||
`null` and `undefined` passed to optional arguments (i.e. properties of `options` argument)
|
||
are ignored as if no argument was passed.
|
||
|
||
If any resulting argument is invalid (i.e. `NaN` for numbers and `Invalid Date` for dates),
|
||
an invalid value will be returned:
|
||
|
||
- `false` for functions that return booleans (expect `isValid`);
|
||
- `Invalid Date` for functions that return dates;
|
||
- and `NaN` for functions that return numbers.
|
||
|
||
See tests and PRs [#460](https://github.com/date-fns/date-fns/pull/460) and
|
||
[#765](https://github.com/date-fns/date-fns/pull/765) for exact behavior.
|
||
|
||
- **BREAKING**: all functions now check if the passed number of arguments is less
|
||
than the number of required arguments and throw `TypeError` exception if so.
|
||
|
||
- **BREAKING**: The Bower & UMD/CDN package versions are no longer supported.
|
||
|
||
- **BREAKING**: `null` now is not a valid date. `isValid(null)` returns `false`;
|
||
`toDate(null)` returns an invalid date. Since `toDate` is used internally
|
||
by all the functions, operations over `null` will also return an invalid date.
|
||
[See #537](https://github.com/date-fns/date-fns/issues/537) for the reasoning.
|
||
|
||
- `toDate` (previously `parse`) and `isValid` functions now accept `any` type
|
||
as the first argument.
|
||
|
||
- [Exclude `docs.json` from the npm package](https://github.com/date-fns/date-fns/pull/837). Kudos to [@hawkrives](https://github.com/hawkrives).
|
||
|
||
### Added
|
||
|
||
- FP functions like those in [lodash](https://github.com/lodash/lodash/wiki/FP-Guide),
|
||
that support [currying](https://en.wikipedia.org/wiki/Currying), and, as a consequence,
|
||
functional-style [function composing](https://medium.com/making-internets/why-using-chain-is-a-mistake-9bc1f80d51ba).
|
||
|
||
Functions with options (`format`, `parse`, etc.) have two FP counterparts:
|
||
one that has the options object as its first argument and one that hasn't.
|
||
The name of the former has `WithOptions` added to the end of its name.
|
||
|
||
In FP functions, the order of arguments is reversed.
|
||
|
||
See [FP Guide](docs/fp) for more information.
|
||
|
||
```javascript
|
||
import addYears from 'date-fns/fp/addYears'
|
||
import formatWithOptions from 'date-fns/fp/formatWithOptions'
|
||
import eo from 'date-fns/locale/eo'
|
||
|
||
// If FP function has not received enough arguments, it returns another function
|
||
const addFiveYears = addYears(5)
|
||
|
||
// Several arguments can be curried at once
|
||
const dateToString = formatWithOptions({ locale: eo }, 'd MMMM yyyy')
|
||
|
||
const dates = [
|
||
new Date(2017, 0 /* Jan */, 1),
|
||
new Date(2017, 1 /* Feb */, 11),
|
||
new Date(2017, 6 /* Jul */, 2)
|
||
]
|
||
|
||
const formattedDates = dates.map(date => dateToString(addFiveYears(date)))
|
||
//=> ['1 januaro 2022', '11 februaro 2022', '2 julio 2022']
|
||
```
|
||
|
||
- Added support for [ECMAScript Modules](http://www.ecma-international.org/ecma-262/6.0/#sec-modules).
|
||
|
||
It allows usage with bundlers that support tree-shaking,
|
||
like [rollup.js](http://rollupjs.org) and [webpack](https://webpack.js.org):
|
||
|
||
```javascript
|
||
// Without tree-shaking:
|
||
import format from 'date-fns/format'
|
||
import parse from 'date-fns/parse'
|
||
|
||
// With tree-shaking:
|
||
import { format, parse } from 'date-fns'
|
||
```
|
||
|
||
Also, ESM functions provide default export, they can be used with TypeScript
|
||
to import functions in more idiomatic way:
|
||
|
||
```typescript
|
||
// Before
|
||
import * as format from 'date-fns/format'
|
||
|
||
// Now
|
||
import format from 'date-fns/format'
|
||
```
|
||
|
||
- `formatRelative` function. See [formatRelative](https://date-fns.org/docs/formatRelative)
|
||
|
||
- Flow typings for `index.js`, `fp/index.js`, `locale/index.js`, and their ESM equivalents.
|
||
See PR [#558](https://github.com/date-fns/date-fns/pull/558)
|
||
|
||
- New locale-dependent week-numbering year helpers:
|
||
|
||
- `getWeek`
|
||
|
||
- `getWeekYear`
|
||
|
||
- `setWeek`
|
||
|
||
- `setWeekYear`
|
||
|
||
- `startOfWeekYear`
|
||
|
||
- Added `eachWeekOfInterval`, the weekly equivalent of `eachDayOfInterval`
|
||
|
||
- [Added `getUnixTime` function](https://github.com/date-fns/date-fns/pull/870). Kudos to [@Kingwl](https://github.com/Kingwl).
|
||
|
||
- [New decade helpers](https://github.com/date-fns/date-fns/pull/839). Thanks to [@y-nk](https://github.com/y-nk)!
|
||
|
||
- `getDecade`
|
||
|
||
- `startOfDecade`
|
||
|
||
- `endOfDecade`
|
||
|
||
- `lastDayOfDecade`
|
||
|
||
- [New `roundToNearestMinutes` function](https://github.com/date-fns/date-fns/pull/928). Kudos to [@xkizer](https://github.com/xkizer).
|
||
|
||
- Added new function `fromUnixTime`. Thansk to [@xkizer](https://github.com/xkizer).
|
||
|
||
- New interval, month, and year helpers to fetch a list of all Saturdays and Sundays (weekends) for a given date interval. `eachWeekendOfInterval` is the handler function while the other two are wrapper functions. Kudos to [@laekettavong](https://github.com/laekettavong)!
|
||
|
||
- `eachWeekendOfInterval`
|
||
|
||
- `eachWeekendOfMonth`
|
||
|
||
- `eachWeekendOfYear`
|
||
|
||
- Build-efficient `lightFormat` that only supports the popular subset of tokens. See [#1050](https://github.com/date-fns/date-fns/pull/1015).
|
||
|
||
- `parseISO` function that parses ISO 8601 strings. See [#1023](https://github.com/date-fns/date-fns/pull/1023).
|
||
|
||
- Add constants that can be imported directly from `date-fns` or the submodule `date-fns/constants`:
|
||
|
||
- `maxTime`
|
||
|
||
- `minTime`
|
||
|
||
- New locales:
|
||
|
||
- [Norwegian Nynorsk locale (nn)](https://github.com/date-fns/date-fns/pull/1172)
|
||
by [@draperunner](https://github.com/draperunner).
|
||
|
||
- [Ukrainian locale (ua)](https://github.com/date-fns/date-fns/pull/532)
|
||
by [@korzhyk](https://github.com/korzhyk).
|
||
|
||
- [Vietnamese locale (vi)](https://github.com/date-fns/date-fns/pull/546)
|
||
by [@trongthanh](https://github.com/trongthanh).
|
||
|
||
- [Persian locale (fa-IR)](https://github.com/date-fns/date-fns/pull/1113)
|
||
by [@mort3za](https://github.com/mort3za).
|
||
|
||
- [Latvian locale (lv)](https://github.com/date-fns/date-fns/pull/1175)
|
||
by [@prudolfs](https://github.com/prudolfs).
|
||
|
||
- [Bengali locale (bb)](https://github.com/date-fns/date-fns/pull/845)
|
||
by [@nutboltu](https://github.com/nutboltu) and [@touhidrahman](https://github.com/touhidrahman).
|
||
|
||
- [Hungarian (hu) and Lithuanian (lt) locales](https://github.com/date-fns/date-fns/pull/864)
|
||
by [@izifortune](https://github.com/izifortune) and [pardoeryanair](https://github.com/pardoeryanair).
|
||
|
||
- [Canadian English locale (en-CA)](https://github.com/date-fns/date-fns/pull/688)
|
||
by [@markowsiak](https://github.com/markowsiak).
|
||
|
||
- [Great Britain English locale (en-GB)](https://github.com/date-fns/date-fns/pull/563)
|
||
by [@glintik](https://github.com/glintik).
|
||
|
||
- [Uighur locale (ug)](https://github.com/date-fns/date-fns/pull/1080)
|
||
by [@abduwaly](https://github.com/abduwaly).
|
||
|
||
- [Add new function `differenceInBusinessDays`](https://github.com/date-fns/date-fns/pull/1194)
|
||
which calculates the difference in business days. Kudos to [@ThorrStevens](https://github.com/ThorrStevens)!
|
||
|
||
- [Add new function `addBusinessDays`](https://github.com/date-fns/date-fns/pull/1154),
|
||
similar to `addDays` but ignoring weekends. Thanks to [@ThorrStevens](https://github.com/ThorrStevens)!
|
||
|
||
## [1.30.1] - 2018-12-10
|
||
|
||
### Fixed
|
||
|
||
- [Fixed DST issue](https://github.com/date-fns/date-fns/pull/1005). See [#972](https://github.com/date-fns/date-fns/issues/972) and [#992](https://github.com/date-fns/date-fns/issues/992) for more details. This fix was backported from v2.
|
||
|
||
- Fix a few bugs that appear in timezones with offsets that include seconds (e.g. GMT+00:57:44). See PR [#789](https://github.com/date-fns/date-fns/issues/789). This fix was backported from v2.
|
||
|
||
- [Fix misspelled January in the Thai locale](https://github.com/date-fns/date-fns/pull/913). Thanks to [@ratchapol-an](https://github.com/ratchapol-an)!
|
||
|
||
### Added
|
||
|
||
- [Added Serbian locale](https://github.com/date-fns/date-fns/pull/717). Kudos to [@mawi12345](https://github.com/mawi12345)!
|
||
|
||
- [Added Belarusian locale](https://github.com/date-fns/date-fns/pull/716). Kudos to [@mawi12345](https://github.com/mawi12345) again!
|
||
|
||
### Changed
|
||
|
||
- [Improve ja translation of distanceInWords](https://github.com/date-fns/date-fns/pull/880). Thanks to [@kudohamu](https://github.com/kudohamu)!
|
||
|
||
## [1.30.0] - 2018-12-10
|
||
|
||
⚠️ The release got failed.
|
||
|
||
## [1.29.0] - 2017-10-11
|
||
|
||
### Fixed
|
||
|
||
- Fix Italian translations for `formatDistance`. ([see the issue: #550](https://github.com/date-fns/date-fns/issues/550); [see the PR: #552](https://github.com/date-fns/date-fns/pull/552))
|
||
Thanks to [@giofilo](https://github.com/giofilo)!
|
||
|
||
### Added
|
||
|
||
- [Hungarian locale (hu)](https://github.com/date-fns/date-fns/pull/503)
|
||
(thanks to László Horváth [@horvathlg](https://github.com/horvathlg))
|
||
|
||
- [Slovenian locale (sl)](https://github.com/date-fns/date-fns/pull/505)
|
||
(thanks to Adam Stradovnik [@Neoglyph](https://github.com/Neoglyph))
|
||
|
||
- Add `step` to `eachDay` function. Thanks to [@BDav24](https://github.com/BDav24).
|
||
See PR [#487](https://github.com/date-fns/date-fns/pull/487).
|
||
|
||
## [1.28.5] - 2017-05-19
|
||
|
||
### Fixed
|
||
|
||
- Fix a.m./p.m. formatters in Chinese Simplified locale.
|
||
Thanks to [@fnlctrl](https://github.com/fnlctrl).
|
||
See PR [#486](https://github.com/date-fns/date-fns/pull/486)
|
||
|
||
## [1.28.4] - 2017-04-26
|
||
|
||
### Fixed
|
||
|
||
- Fix accents on weekdays in the Italian locale.
|
||
See PR [#481](https://github.com/date-fns/date-fns/pull/481).
|
||
Thanks to [@albertorestifo](https://github.com/albertorestifo)
|
||
|
||
- Fix typo in `ddd` format token in Spanish language locale.
|
||
Kudos to [@fjaguero](https://github.com/fjaguero).
|
||
See PR [#482](https://github.com/date-fns/date-fns/pull/482)
|
||
|
||
## [1.28.3] - 2017-04-14
|
||
|
||
### Fixed
|
||
|
||
- Fix ordinal numbers for Danish language locale. Thanks to [@kgram](https://github.com/kgram).
|
||
See PR [#474](https://github.com/date-fns/date-fns/pull/474)
|
||
|
||
## [1.28.2] - 2017-03-27
|
||
|
||
### Fixed
|
||
|
||
- Fix `dd` and `ddd` formatters in Polish language locale. Kudos to [@justrag](https://github.com/justrag).
|
||
See PR: [#467](https://github.com/date-fns/date-fns/pull/467)
|
||
|
||
## [1.28.1] - 2017-03-19
|
||
|
||
### Fixed
|
||
|
||
- Fix DST border bug in `addMilliseconds`, `addSeconds`, `addMinutes`, `addHours`,
|
||
`subMilliseconds`, `subSeconds`, `subMinutes` and `subHours`.
|
||
See issue [#465](https://github.com/date-fns/date-fns/issues/465)
|
||
|
||
- Minor fix for Indonesian locale. Thanks to [@bentinata](https://github.com/bentinata).
|
||
See PR: [#458](https://github.com/date-fns/date-fns/pull/458)
|
||
|
||
## [1.28.0] - 2017-02-27
|
||
|
||
### Added
|
||
|
||
- [Romanian locale (ro)](https://github.com/date-fns/date-fns/pull/446)
|
||
(thanks to Sergiu Munteanu [@jsergiu](https://github.com/jsergiu))
|
||
|
||
### Fixed
|
||
|
||
- All functions now convert all their arguments to the respective types.
|
||
See PR: [#443](https://github.com/date-fns/date-fns/pull/443)
|
||
|
||
- Fixes for ordinals (1er, 2, 3, …) in French locale.
|
||
Thanks to [@fbonzon](https://github.com/fbonzon).
|
||
See PR: [#449](https://github.com/date-fns/date-fns/pull/449)
|
||
|
||
## [1.27.2] - 2017-02-01
|
||
|
||
### Fixed
|
||
|
||
- Various fixes for Dutch locale. See PR: [#416](https://github.com/date-fns/date-fns/pull/416).
|
||
Thanks to Ruben Stolk [@rubenstolk](https://github.com/rubenstolk)
|
||
|
||
## [1.27.1] - 2017-01-20
|
||
|
||
### Fixed
|
||
|
||
- Added generation of TypeScript locale sub-modules, allowing import of locales in TypeScript.
|
||
|
||
## [1.27.0] - 2017-01-19
|
||
|
||
### Added
|
||
|
||
- [Macedonian locale (mk)](https://github.com/date-fns/date-fns/pull/398)
|
||
(thanks to Petar Vlahu [@vlahupetar](https://github.com/vlahupetar))
|
||
|
||
## [1.26.0] - 2017-01-15
|
||
|
||
### Added
|
||
|
||
- `getTime`
|
||
|
||
### Fixed
|
||
|
||
- Various fixes for Japanese locale. See PR: [395](https://github.com/date-fns/date-fns/pull/395).
|
||
Thanks to Yamagishi Kazutoshi [@ykzts](https://github.com/ykzts)
|
||
|
||
## [1.25.0] - 2017-01-11
|
||
|
||
### Added
|
||
|
||
- [Bulgarian locale (bg)](https://github.com/date-fns/date-fns/pull/357)
|
||
(thanks to Nikolay Stoynov [@arvigeus](https://github.com/arvigeus))
|
||
|
||
- [Czech locale (cs)](https://github.com/date-fns/date-fns/pull/386)
|
||
(thanks to David Rus [@davidrus](https://github.com/davidrus))
|
||
|
||
## [1.24.0] - 2017-01-06
|
||
|
||
### Added
|
||
|
||
- [Modern Standard Arabic locale (ar)](https://github.com/date-fns/date-fns/pull/367)
|
||
(thanks to Abdallah Hassan [@AbdallahAHO](https://github.com/AbdallahAHO))
|
||
|
||
## [1.23.0] - 2017-01-05
|
||
|
||
### Added
|
||
|
||
- Auto generate TypeScript and flow typings from documentation on release.
|
||
Thanks to [@mattlewis92](https://github.com/mattlewis92).
|
||
See related PRs: [#355](https://github.com/date-fns/date-fns/pull/355),
|
||
[#370](https://github.com/date-fns/date-fns/pull/370)
|
||
|
||
- [Croatian locale (hr)](https://github.com/date-fns/date-fns/pull/365)
|
||
(thanks to Matija Marohnić [@silvenon](https://github.com/silvenon))
|
||
|
||
- [Thai locale (th)](https://github.com/date-fns/date-fns/pull/362)
|
||
(thanks to Athiwat Hirunworawongkun [@athivvat](https://github.com/athivvat))
|
||
|
||
- [Finnish locale (fi)](https://github.com/date-fns/date-fns/pull/361)
|
||
(thanks to Pyry-Samuli Lahti [@Pyppe](https://github.com/Pyppe))
|
||
|
||
## [1.22.0] - 2016-12-28
|
||
|
||
### Added
|
||
|
||
- [Icelandic locale (is)](https://github.com/date-fns/date-fns/pull/356)
|
||
(thanks to Derek Blank [@derekblank](https://github.com/derekblank))
|
||
|
||
## [1.21.1] - 2016-12-18
|
||
|
||
### Fixed
|
||
|
||
- Fix `isBefore` and `isAfter` documentation mistakes.
|
||
|
||
## [1.21.0] - 2016-12-16
|
||
|
||
### Added
|
||
|
||
- [Filipino locale (fil)](https://github.com/date-fns/date-fns/pull/339)
|
||
(thanks to Ian De La Cruz [@RIanDeLaCruz](https://github.com/RIanDeLaCruz))
|
||
|
||
- [Danish locale (da)](https://github.com/date-fns/date-fns/pull/343)
|
||
(kudos to Anders B. Hansen [@Andersbiha](https://github.com/Andersbiha))
|
||
|
||
## [1.20.1] - 2016-12-14
|
||
|
||
### Fixed
|
||
|
||
- Fix documentation for `getOverlappingDaysInRanges`.
|
||
|
||
## [1.20.0] - 2016-12-13
|
||
|
||
### Added
|
||
|
||
- `areRangesOverlapping` and `getOverlappingDaysInRanges`
|
||
Thanks to Joanna T [@asia-t](https://github.com/asia-t).
|
||
See PR: [#331](https://github.com/date-fns/date-fns/pull/331)
|
||
|
||
## [1.19.0] - 2016-12-13
|
||
|
||
### Added
|
||
|
||
- [Greek locale (el)](https://github.com/date-fns/date-fns/pull/334)
|
||
(kudos to Theodoros Orfanidis [@teoulas](https://github.com/teoulas))
|
||
|
||
- [Slovak locale (sk)](https://github.com/date-fns/date-fns/pull/336)
|
||
(kudos to Marek Suscak [@mareksuscak](https://github.com/mareksuscak))
|
||
|
||
- Add yarn support.
|
||
Thanks to Uladzimir Havenchyk [@havenchyk](https://github.com/havenchyk).
|
||
See PR: [#288](https://github.com/date-fns/date-fns/pull/288)
|
||
|
||
## [1.18.0] - 2016-12-12
|
||
|
||
### Added
|
||
|
||
- [Turkish locale (tr)](https://github.com/date-fns/date-fns/pull/329)
|
||
(kudos to Alpcan Aydın [@alpcanaydin](https://github.com/alpcanaydin))
|
||
|
||
- [Korean locale (ko)](https://github.com/date-fns/date-fns/pull/327)
|
||
(thanks to Hong Chulju [@angdev](https://github.com/angdev))
|
||
|
||
### Fixed
|
||
|
||
- `SS` and `SSS` formats in `format` are now correctly displayed with leading zeros.
|
||
Thanks to Paul Dijou [@pauldijou](https://github.com/pauldijou).
|
||
See PR: [#330](https://github.com/date-fns/date-fns/pull/330)
|
||
|
||
## [1.17.0] - 2016-12-10
|
||
|
||
### Added
|
||
|
||
- [Polish locale (pl)](https://github.com/date-fns/date-fns/pull/294)
|
||
(thanks to Mateusz Derks [@ertrzyiks](https://github.com/ertrzyiks))
|
||
|
||
- [Portuguese locale (pt)](https://github.com/date-fns/date-fns/pull/316)
|
||
(thanks to Dário Freire [@dfreire](https://github.com/dfreire))
|
||
|
||
- [Swedish locale (sv)](https://github.com/date-fns/date-fns/pull/311)
|
||
(thanks to Johannes Ulén [@ejulen](https://github.com/ejulen))
|
||
|
||
- [French locale (fr)](https://github.com/date-fns/date-fns/pull/281)
|
||
(thanks to Jean Dupouy [@izeau](https://github.com/izeau))
|
||
|
||
- Performance tests. See PR: [#289](https://github.com/date-fns/date-fns/pull/289)
|
||
|
||
### Fixed
|
||
|
||
- Fix TypeScript and flow typings for `isValid`.
|
||
See PR: [#310](https://github.com/date-fns/date-fns/pull/310)
|
||
|
||
- Fix incorrect locale tests that could potentially lead to `format` bugs.
|
||
Kudos to Mateusz Derks [@ertrzyiks](https://github.com/ertrzyiks).
|
||
See related PRs: [#312](https://github.com/date-fns/date-fns/pull/312),
|
||
[#320](https://github.com/date-fns/date-fns/pull/320)
|
||
|
||
- Minor language fixes in the documentation.
|
||
Thanks to Vedad Šoše [@vedadsose](https://github.com/vedadsose) ([#314](https://github.com/date-fns/date-fns/pull/314))
|
||
and Asia [@asia-t](https://github.com/asia-t) ([#318](https://github.com/date-fns/date-fns/pull/318))
|
||
|
||
### Changed
|
||
|
||
- `format` now returns `String('Invalid Date')` if the passed date is invalid.
|
||
See PR: [#323](https://github.com/date-fns/date-fns/pull/323)
|
||
|
||
- `distanceInWords`, `distanceInWordsToNow`, `distanceInWordsStrict` and `format` functions now
|
||
check if the passed locale is valid, and fallback to English locale otherwise.
|
||
See PR: [#321](https://github.com/date-fns/date-fns/pull/321)
|
||
|
||
- _Internal_: use a loop instead of `Object.keys` in `buildFormattingTokensRegExp`
|
||
to improve compatibility with older browsers.
|
||
See PR: [#322](https://github.com/date-fns/date-fns/pull/322)
|
||
|
||
## [1.16.0] - 2016-12-08
|
||
|
||
### Added
|
||
|
||
- [Italian locale (it)](https://github.com/date-fns/date-fns/pull/298)
|
||
(thanks to Alberto Restifo [@albertorestifo](https://github.com/albertorestifo))
|
||
|
||
- For German `buildDistanceInWordsLocale`, add nominative case translations (for distances without a suffix).
|
||
Kudos to Asia [@asia-t](https://github.com/asia-t).
|
||
See related PR: [#295](https://github.com/date-fns/date-fns/pull/295)
|
||
|
||
## [1.15.1] - 2016-12-07
|
||
|
||
### Fixed
|
||
|
||
- Fixed TypeScript imports from individual modules.
|
||
Thanks to [@mattlewis92](https://github.com/mattlewis92).
|
||
See related PR: [#287](https://github.com/date-fns/date-fns/pull/287)
|
||
|
||
## [1.15.0] - 2016-12-07
|
||
|
||
### Added
|
||
|
||
- [Indonesian locale (id)](https://github.com/date-fns/date-fns/pull/299)
|
||
(thanks to Rahmat Budiharso [@rbudiharso](https://github.com/rbudiharso))
|
||
|
||
- [Catalan locale (ca)](https://github.com/date-fns/date-fns/pull/300)
|
||
(thanks to Guillermo Grau [@guigrpa](https://github.com/guigrpa))
|
||
|
||
### Fixed
|
||
|
||
- Fix some inaccuracies in Spanish locale.
|
||
Kudos to [@guigrpa](https://github.com/guigrpa).
|
||
See related PR: [#302](https://github.com/date-fns/date-fns/pull/302)
|
||
|
||
## [1.14.1] - 2016-12-06
|
||
|
||
### Fixed
|
||
|
||
- Fixed broken test for Norwegian Bokmål locale.
|
||
|
||
## [1.14.0] - 2016-12-06
|
||
|
||
### Added
|
||
|
||
- [Norwegian Bokmål locale (nb)](https://github.com/date-fns/date-fns/pull/291)
|
||
(thanks to Hans-Kristian Koren [@Hanse](https://github.com/Hanse))
|
||
|
||
## [1.13.0] - 2016-12-06
|
||
|
||
### Added
|
||
|
||
- [Chinese Traditional locale (zh_tw)](https://github.com/date-fns/date-fns/pull/283)
|
||
(thanks to tonypai [@tpai](https://github.com/tpai)).
|
||
|
||
- [Dutch language locale (nl)](https://github.com/date-fns/date-fns/pull/278)
|
||
(kudos to Jorik Tangelder [@jtangelder](https://github.com/jtangelder))
|
||
|
||
## [1.12.1] - 2016-12-05
|
||
|
||
### Fixed
|
||
|
||
- Added `distanceInWordsStrict` to the list of supported functions in I18n doc.
|
||
|
||
## [1.12.0] - 2016-12-05
|
||
|
||
### Added
|
||
|
||
- [Spanish language locale (es)](https://github.com/date-fns/date-fns/pull/269)
|
||
(thanks to Juan Angosto [@juanangosto](https://github.com/juanangosto)).
|
||
|
||
### Fixed
|
||
|
||
- Fix flow typings for some of the functions.
|
||
See PR: [#273](https://github.com/date-fns/date-fns/pull/273)
|
||
|
||
## [1.11.2] - 2016-11-28
|
||
|
||
### Fixed
|
||
|
||
- Bug in `parse` when it sometimes parses ISO week-numbering dates incorrectly.
|
||
See PR: [#262](https://github.com/date-fns/date-fns/pull/262)
|
||
|
||
- Bug in some functions which caused them to handle dates earlier than 100 AD incorrectly.
|
||
See PR: [#263](https://github.com/date-fns/date-fns/pull/263)
|
||
|
||
## [1.11.1] - 2016-11-24
|
||
|
||
### Fixed
|
||
|
||
- Include TypeScript typings with npm package.
|
||
|
||
## [1.11.0] - 2016-11-23
|
||
|
||
### Added
|
||
|
||
- `distanceInWordsStrict`.
|
||
Kudos to [@STRML](https://github.com/STRML).
|
||
See related PR: [#254](https://github.com/date-fns/date-fns/pull/254)
|
||
|
||
- [TypeScript](https://www.typescriptlang.org/) typings for all functions.
|
||
Kudos to [@mattlewis92](https://github.com/mattlewis92).
|
||
See related PR: [#255](https://github.com/date-fns/date-fns/pull/255)
|
||
|
||
## [1.10.0] - 2016-11-01
|
||
|
||
### Added
|
||
|
||
- `parse` now can parse dates that are ISO 8601 centuries (e.g., `19` and `+0019`).
|
||
|
||
```javascript
|
||
var result = parse('19')
|
||
//=> Mon Jan 01 1900 00:00:00
|
||
```
|
||
|
||
- In `parse`, added ability to specify the number of additional digits
|
||
for extended year or century format (possible values are 0, 1 or 2; default is 2).
|
||
|
||
```javascript
|
||
parse('+002016-11-01')
|
||
parse('+02016-11-01', { additionalDigits: 1 })
|
||
parse('+2016-11-01', { additionalDigits: 0 })
|
||
```
|
||
|
||
## [1.9.0] - 2016-10-25
|
||
|
||
### Added
|
||
|
||
- Got index.js imports to work with SystemJS.
|
||
|
||
## [1.8.1] - 2016-10-24
|
||
|
||
### Fixed
|
||
|
||
- Added Japanese and German language locales to the list in I18n doc.
|
||
|
||
## [1.8.0] - 2016-10-23
|
||
|
||
### Added
|
||
|
||
- [Japanese language locale (ja)](https://github.com/date-fns/date-fns/pull/241)
|
||
(thanks to Thomas Eilmsteiner [@DeMuu](https://github.com/DeMuu) again!)
|
||
|
||
- `getISODay`
|
||
|
||
- `setISODay`
|
||
|
||
## [1.7.0] - 2016-10-20
|
||
|
||
### Added
|
||
|
||
- [German language locale (de)](https://github.com/date-fns/date-fns/pull/237)
|
||
(thanks to Thomas Eilmsteiner [@DeMuu](https://github.com/DeMuu)).
|
||
|
||
## [1.6.0] - 2016-10-16
|
||
|
||
### Added
|
||
|
||
- [Chinese Simplified locale (zh_cn)](https://github.com/date-fns/date-fns/pull/235)
|
||
(kudos to Changyu [@KingMario](https://github.com/KingMario) Geng).
|
||
|
||
## [1.5.2] - 2016-10-13
|
||
|
||
### Fixed
|
||
|
||
- Incorrectly generated docs for `format`.
|
||
|
||
- Fixed typo in I18n doc.
|
||
|
||
## [1.5.1] - 2016-10-12
|
||
|
||
### Fixed
|
||
|
||
- A change log entry for [1.5.0] is added.
|
||
|
||
## [1.5.0] - 2016-10-12
|
||
|
||
### Added
|
||
|
||
- [The initial I18n support](https://date-fns.org/docs/I18n)
|
||
|
||
## [1.4.0] - 2016-10-09
|
||
|
||
### Added
|
||
|
||
- Basic [SystemJS](https://github.com/systemjs/systemjs) support.
|
||
|
||
### Fixed
|
||
|
||
- Fix incorrect behaviour of `YYYY` and `YY` for years prior to 1000:
|
||
now `format(new Date('0001-01-01'), 'YYYY-MM-DD')` returns `0001-01-01`
|
||
instead of `1-01-01`.
|
||
|
||
## [1.3.0] - 2016-05-26
|
||
|
||
### Added
|
||
|
||
- `closestIndexTo`
|
||
|
||
## [1.2.0] - 2016-05-23
|
||
|
||
### Added
|
||
|
||
- Add an ability to pass negative numbers to `setDay`.
|
||
|
||
## [1.1.1] - 2016-05-19
|
||
|
||
### Fixed
|
||
|
||
- Fix [Flow](http://flowtype.org/) declarations for some of the functions.
|
||
|
||
## [1.1.0] - 2016-05-19
|
||
|
||
### Added
|
||
|
||
- [Flow](http://flowtype.org/) declarations for each function
|
||
in [the ".js.flow" style](http://flowtype.org/docs/declarations.html#declaration-files).
|
||
Kudos to [@JohnyDays](https://github.com/JohnyDays). See related PRs:
|
||
|
||
- [#205](https://github.com/date-fns/date-fns/pull/205)
|
||
|
||
- [#207](https://github.com/date-fns/date-fns/pull/207)
|
||
|
||
## [1.0.0] - 2016-05-18
|
||
|
||
### Fixed
|
||
|
||
- `format` now returns the correct result for key `E`.
|
||
|
||
- Prevent `startOf...`, `endOf...` and `lastDayOf...` functions
|
||
to return dates with an incorrect time when the date is modifying
|
||
into another time zone.
|
||
|
||
- `parse` now parses years from 1 AD to 99 AD correctly.
|
||
|
||
- Fix a bug in `getISOWeek` appearing because of a changing time zone
|
||
(e.g., when the given date is in DST and the start of the ISO year is not).
|
||
|
||
### Changed
|
||
|
||
- **BREAKING**: all functions are moved to the root of the library, so they
|
||
are now accessible with `require('date-fns/name_of_function')` or
|
||
`import nameOfFunction from 'date-fns/name_of_function'`.
|
||
|
||
```javascript
|
||
// Before v1.0.0
|
||
var addMonths = require('date-fns/src/add_months')
|
||
|
||
// v1.0.0 onward
|
||
var addMonths = require('date-fns/add_months')
|
||
```
|
||
|
||
- **BREAKING**: functions that had the last optional argument `weekStartsAt`
|
||
(i.e. `endOfWeek`, `isSameWeek`, `lastDayOfWeek`, `setDay`, `startOfWeek`)
|
||
now instead receive the object `options` with the property `options.weekStartsOn`
|
||
as the last argument.
|
||
|
||
```javascript
|
||
// Before v1.0.0
|
||
var result = endOfWeek(new Date(2014, 8, 2), 1)
|
||
|
||
// v1.0.0 onward
|
||
var result = endOfWeek(new Date(2014, 8, 2), { weekStartsOn: 1 })
|
||
```
|
||
|
||
- **BREAKING**: remove the function `getTimeSinceMidnight` that was used inside
|
||
the other functions.
|
||
|
||
- **BREAKING**: `differenceInDays` now returns the number of full days instead
|
||
of calendar days.
|
||
|
||
- **BREAKING**: `eachDay` and `isWithinRange` now throw an exception
|
||
when the given range boundaries are invalid.
|
||
|
||
- Faster `isLeapYear`.
|
||
|
||
- _Internal_: make the documentation more verbose.
|
||
|
||
- _Internal_: convert the tests from Chai to power-assert allowing them
|
||
to run against IE8.
|
||
|
||
### Added
|
||
|
||
- `addISOYears`
|
||
|
||
- `closestTo`
|
||
|
||
- `differenceInCalendarDays`
|
||
|
||
- `differenceInCalendarISOWeeks`
|
||
|
||
- `differenceInCalendarISOYears`
|
||
|
||
- `differenceInCalendarMonths`
|
||
|
||
- `differenceInCalendarQuarters`
|
||
|
||
- `differenceInCalendarWeeks`
|
||
|
||
- `differenceInCalendarYears`
|
||
|
||
- `differenceInHours`
|
||
|
||
- `differenceInISOYears`
|
||
|
||
- `differenceInMilliseconds`
|
||
|
||
- `differenceInMinutes`
|
||
|
||
- `differenceInMonths`
|
||
|
||
- `differenceInQuarters`
|
||
|
||
- `differenceInSeconds`
|
||
|
||
- `differenceInWeeks`
|
||
|
||
- `differenceInYears`
|
||
|
||
- `distanceInWords`
|
||
|
||
- `distanceInWordsToNow`
|
||
|
||
- `endOfISOWeek`
|
||
|
||
- `endOfISOYear`
|
||
|
||
- `endOfToday`
|
||
|
||
- `endOfTomorrow`
|
||
|
||
- `endOfYesterday`
|
||
|
||
- `getDaysInYear`
|
||
|
||
- `isDate`
|
||
|
||
- `isFriday`
|
||
|
||
- `isMonday`
|
||
|
||
- `isSameISOWeek`
|
||
|
||
- `isSameISOYear`
|
||
|
||
- `isSaturday`
|
||
|
||
- `isSunday`
|
||
|
||
- `isThisHour`
|
||
|
||
- `isThisISOWeek`
|
||
|
||
- `isThisISOYear`
|
||
|
||
- `isThisMinute`
|
||
|
||
- `isThisMonth`
|
||
|
||
- `isThisQuarter`
|
||
|
||
- `isThisSecond`
|
||
|
||
- `isThisWeek`
|
||
|
||
- `isThisYear`
|
||
|
||
- `isThursday`
|
||
|
||
- `isTomorrow`
|
||
|
||
- `isTuesday`
|
||
|
||
- `isValid`
|
||
|
||
- `isWednesday`
|
||
|
||
- `isYesterday`
|
||
|
||
- `lastDayOfISOWeek`
|
||
|
||
- `lastDayOfISOYear`
|
||
|
||
- `startOfISOWeek`
|
||
|
||
- `startOfToday`
|
||
|
||
- `startOfTomorrow`
|
||
|
||
- `startOfYesterday`
|
||
|
||
- `subISOYears`
|
||
|
||
- Add `Qo`, `W`, `Wo`, `WW`, `GG`, `GGGG`, `Z`, `ZZ`, `X`, `x` keys to `format`.
|
||
|
||
## [0.17.0] - 2015-09-29
|
||
|
||
### Fixed
|
||
|
||
- Fix a lot of bugs appearing when date is modifying into other time zone
|
||
(e.g., when adding months and original date is in DST but new date is not).
|
||
|
||
- Prevent instances of Date to lose milliseconds value when passed to.
|
||
`parse` in IE10.
|
||
|
||
### Changed
|
||
|
||
- `setISOWeek` now keeps time from original date.
|
||
|
||
- _Internal_: reuse `getDaysInMonth` inside of `addMonths`.
|
||
|
||
### Added
|
||
|
||
- `differenceInDays`
|
||
|
||
- `getTimeSinceMidnight`
|
||
|
||
- `format` now has new format key `aa`, which returns `a.m.`/`p.m.`
|
||
as opposed to `a` that returns `am`/`pm`.
|
||
|
||
- Complete UMD package (for Bower and CDN).
|
||
|
||
## [0.16.0] - 2015-09-01
|
||
|
||
### Changed
|
||
|
||
- Use `parse` to clean date arguments in all functions.
|
||
|
||
- `parse` now fallbacks to `new Date` when the argument
|
||
is not an ISO formatted date.
|
||
|
||
- _Internal_: reuse `getDaysInMonth` inside of `setMonth`.
|
||
|
||
### Added
|
||
|
||
- `addQuarters`
|
||
|
||
- `addWeeks`
|
||
|
||
- `endOfQuarter`
|
||
|
||
- `getDate`
|
||
|
||
- `getDay`
|
||
|
||
- `getDaysInMonth`
|
||
|
||
- `getHours`
|
||
|
||
- `getISOWeeksInYear`
|
||
|
||
- `getMilliseconds`
|
||
|
||
- `getMinutes`
|
||
|
||
- `getMonth`
|
||
|
||
- `getSeconds`
|
||
|
||
- `getYear`
|
||
|
||
- `isLeapYear`
|
||
|
||
- `isSameHour`
|
||
|
||
- `isSameMinute`
|
||
|
||
- `isSameQuarter`
|
||
|
||
- `isSameSecond`
|
||
|
||
- `lastDayOfQuarter`
|
||
|
||
- `lastDayOfWeek`
|
||
|
||
- `max`
|
||
|
||
- `min`
|
||
|
||
- `setDate`
|
||
|
||
- `setDay`
|
||
|
||
- `setHours`
|
||
|
||
- `setMilliseconds`
|
||
|
||
- `setMinutes`
|
||
|
||
- `setSeconds`
|
||
|
||
- `startOfQuarter`
|
||
|
||
- `subQuarters`
|
||
|
||
- `subWeeks`
|
||
|
||
## [0.15.0] - 2015-08-26
|
||
|
||
### Changed
|
||
|
||
- `format` now returns `a.m.`/`p.m.` instead of `am`/`pm`.
|
||
|
||
- `setMonth` now sets last day of month if original date was last day
|
||
of longer month.
|
||
|
||
- _Internal_: Fix code style according to ESLint.
|
||
|
||
- _Internal_: Make tests run through all time zones.
|
||
|
||
### Added
|
||
|
||
- `getQuarter`
|
||
|
||
- `setQuarter`
|
||
|
||
- `getDayOfYear`
|
||
|
||
- `setDayOfYear`
|
||
|
||
- `isPast`
|
||
|
||
- `addSeconds`
|
||
|
||
- `subSeconds`
|
||
|
||
- `startOfSecond`
|
||
|
||
- `endOfSecond`
|
||
|
||
- `startOfMinute`
|
||
|
||
- `endOfMinute`
|
||
|
||
- `addMilliseconds`
|
||
|
||
- `subMilliseconds`
|
||
|
||
- `endOfYear`
|
||
|
||
- `addYears`
|
||
|
||
- `subYears`
|
||
|
||
- `lastDayOfYear`
|
||
|
||
- `lastDayOfMonth`
|
||
|
||
## [0.14.11] - 2015-08-21
|
||
|
||
### Fixed
|
||
|
||
- `format` now uses `parse` to avoid time zone bugs.
|
||
|
||
### Changed
|
||
|
||
- `setIsoWeek` now sets time to the start of the day.
|
||
|
||
## [0.14.10] - 2015-07-29
|
||
|
||
### Fixed
|
||
|
||
- `format` now behaves correctly with 12:00 am.
|
||
|
||
- `format` now behaves correctly with ordinal numbers.
|
||
|
||
### Added
|
||
|
||
- `compareAsc`
|
||
|
||
- `compareDesc`
|
||
|
||
- `addHours`
|
||
|
||
- `subHours`
|
||
|
||
- `isSameDay`
|
||
|
||
- `parse`
|
||
|
||
- `getISOYear`
|
||
|
||
- `setISOYear`
|
||
|
||
- `startOfISOYear`
|
||
|
||
- `getISOWeek`
|
||
|
||
- `setISOWeek`
|
||
|
||
## [0.14.9] - 2015-01-14
|
||
|
||
### Fixed
|
||
|
||
- `addMonths` now correctly behaves with February
|
||
(see [#18](https://github.com/js-fns/date-fns/pull/18)).
|
||
|
||
## [0.14.8] - 2014-12-25
|
||
|
||
### Fixed
|
||
|
||
- `format` function now behaves correctly with `pm`/`am`.
|
||
|
||
## [0.14.6] - 2014-12-04
|
||
|
||
### Fixed
|
||
|
||
- Fix broken Bower support.
|
||
|
||
## [0.14.0] - 2014-11-05
|
||
|
||
### Added
|
||
|
||
- Bower package.
|
||
|
||
## [0.13.0] - 2014-10-22
|
||
|
||
### Added
|
||
|
||
- `addMinutes`
|
||
|
||
- `subMinutes`
|
||
|
||
- `isEqual`
|
||
|
||
- `isBefore`
|
||
|
||
- `isAfter`
|
||
|
||
## [0.12.1] - 2014-10-19
|
||
|
||
### Fixed
|
||
|
||
- Incorrect rounding in `DDD` formatter.
|
||
|
||
## [0.12.0] - 2014-10-15
|
||
|
||
### Added
|
||
|
||
- `isSameYear`
|
||
|
||
## [0.11.0] - 2014-10-15
|
||
|
||
### Added
|
||
|
||
- `isWithinRange`
|
||
|
||
## [0.10.0] - 2014-10-13
|
||
|
||
### Added
|
||
|
||
- `format`
|
||
|
||
- `startOfYear`
|
||
|
||
## [0.9.0] - 2014-10-10
|
||
|
||
### Changed
|
||
|
||
- _Internal_: simplify `isWeekend`
|
||
|
||
### Added
|
||
|
||
- `isFuture`
|
||
|
||
## [0.8.0] - 2014-10-09
|
||
|
||
### Changed
|
||
|
||
- _Internal_: reuse `addDays` inside of `subDays`.
|
||
|
||
### Added
|
||
|
||
- `addMonths`
|
||
|
||
- `subMonths`
|
||
|
||
- `setMonth`
|
||
|
||
- `setYear`
|
||
|
||
## [0.7.0] - 2014-10-08
|
||
|
||
### Added
|
||
|
||
- `isSameWeek`
|
||
|
||
## [0.6.0] - 2014-10-07
|
||
|
||
### Fixed
|
||
|
||
- Inconsistent behavior of `endOfMonth`.
|
||
|
||
### Added
|
||
|
||
- `isFirstDayOfMonth`
|
||
|
||
- `isLastDayOfMonth`
|
||
|
||
- `isSameMonth`
|
||
|
||
## [0.5.0] - 2014-10-07
|
||
|
||
### Added
|
||
|
||
- `addDays`
|
||
|
||
- `subDays`
|
||
|
||
## [0.4.0] - 2014-10-07
|
||
|
||
### Added
|
||
|
||
- `startOfWeek`
|
||
|
||
- `endOfWeek`
|
||
|
||
- `eachDay`
|
||
|
||
## [0.3.0] - 2014-10-06
|
||
|
||
### Changed
|
||
|
||
- `startOfDay` now sets milliseconds as well.
|
||
|
||
### Added
|
||
|
||
- `endOfDay`
|
||
|
||
- `startOfMonth`
|
||
|
||
- `endOfMonth`
|
||
|
||
## [0.2.0] - 2014-10-06
|
||
|
||
### Added
|
||
|
||
- `isToday`
|
||
|
||
- `isWeekend`
|
||
|
||
## 0.1.0 - 2014-10-06
|
||
|
||
### Added
|
||
|
||
- `startOfDay`
|
||
|
||
[unreleased]: https://github.com/date-fns/date-fns/compare/v2.8.0...HEAD
|
||
[2.8.0]: https://github.com/date-fns/date-fns/compare/v2.7.0...v2.8.0
|
||
[2.7.0]: https://github.com/date-fns/date-fns/compare/v2.6.0...v2.7.0
|
||
[2.6.0]: https://github.com/date-fns/date-fns/compare/v2.5.1...v2.6.0
|
||
[2.5.1]: https://github.com/date-fns/date-fns/compare/v2.5.0...v2.5.1
|
||
[2.5.0]: https://github.com/date-fns/date-fns/compare/v2.4.1...v2.5.0
|
||
[2.4.1]: https://github.com/date-fns/date-fns/compare/v2.4.0...v2.4.1
|
||
[2.4.0]: https://github.com/date-fns/date-fns/compare/v2.3.0...v2.4.0
|
||
[2.3.0]: https://github.com/date-fns/date-fns/compare/v2.2.1...v2.3.0
|
||
[2.2.1]: https://github.com/date-fns/date-fns/compare/v2.1.0...v2.2.1
|
||
[2.1.0]: https://github.com/date-fns/date-fns/compare/v2.0.1...v2.1.0
|
||
[2.0.1]: https://github.com/date-fns/date-fns/compare/v2.0.0...v2.0.1
|
||
[2.0.0]: https://github.com/date-fns/date-fns/compare/v1.28.5...v2.0.0
|
||
[1.28.5]: https://github.com/date-fns/date-fns/compare/v1.28.4...v1.28.5
|
||
[1.28.4]: https://github.com/date-fns/date-fns/compare/v1.28.3...v1.28.4
|
||
[1.28.3]: https://github.com/date-fns/date-fns/compare/v1.28.2...v1.28.3
|
||
[1.28.2]: https://github.com/date-fns/date-fns/compare/v1.28.1...v1.28.2
|
||
[1.28.1]: https://github.com/date-fns/date-fns/compare/v1.28.0...v1.28.1
|
||
[1.28.0]: https://github.com/date-fns/date-fns/compare/v1.27.2...v1.28.0
|
||
[1.27.2]: https://github.com/date-fns/date-fns/compare/v1.27.1...v1.27.2
|
||
[1.27.1]: https://github.com/date-fns/date-fns/compare/v1.27.0...v1.27.1
|
||
[1.27.0]: https://github.com/date-fns/date-fns/compare/v1.26.0...v1.27.0
|
||
[1.26.0]: https://github.com/date-fns/date-fns/compare/v1.25.0...v1.26.0
|
||
[1.25.0]: https://github.com/date-fns/date-fns/compare/v1.24.0...v1.25.0
|
||
[1.24.0]: https://github.com/date-fns/date-fns/compare/v1.23.0...v1.24.0
|
||
[1.23.0]: https://github.com/date-fns/date-fns/compare/v1.22.0...v1.23.0
|
||
[1.22.0]: https://github.com/date-fns/date-fns/compare/v1.21.1...v1.22.0
|
||
[1.21.1]: https://github.com/date-fns/date-fns/compare/v1.21.0...v1.21.1
|
||
[1.21.0]: https://github.com/date-fns/date-fns/compare/v1.20.1...v1.21.0
|
||
[1.20.1]: https://github.com/date-fns/date-fns/compare/v1.20.0...v1.20.1
|
||
[1.20.0]: https://github.com/date-fns/date-fns/compare/v1.19.0...v1.20.0
|
||
[1.19.0]: https://github.com/date-fns/date-fns/compare/v1.18.0...v1.19.0
|
||
[1.18.0]: https://github.com/date-fns/date-fns/compare/v1.17.0...v1.18.0
|
||
[1.17.0]: https://github.com/date-fns/date-fns/compare/v1.16.0...v1.17.0
|
||
[1.16.0]: https://github.com/date-fns/date-fns/compare/v1.15.1...v1.16.0
|
||
[1.15.1]: https://github.com/date-fns/date-fns/compare/v1.15.0...v1.15.1
|
||
[1.15.0]: https://github.com/date-fns/date-fns/compare/v1.14.1...v1.15.0
|
||
[1.14.1]: https://github.com/date-fns/date-fns/compare/v1.14.0...v1.14.1
|
||
[1.14.0]: https://github.com/date-fns/date-fns/compare/v1.13.0...v1.14.0
|
||
[1.13.0]: https://github.com/date-fns/date-fns/compare/v1.12.1...v1.13.0
|
||
[1.12.1]: https://github.com/date-fns/date-fns/compare/v1.12.0...v1.12.1
|
||
[1.12.0]: https://github.com/date-fns/date-fns/compare/v1.11.2...v1.12.0
|
||
[1.11.2]: https://github.com/date-fns/date-fns/compare/v1.11.1...v1.11.2
|
||
[1.11.1]: https://github.com/date-fns/date-fns/compare/v1.11.0...v1.11.1
|
||
[1.11.0]: https://github.com/date-fns/date-fns/compare/v1.10.0...v1.11.0
|
||
[1.10.0]: https://github.com/date-fns/date-fns/compare/v1.9.0...v1.10.0
|
||
[1.9.0]: https://github.com/date-fns/date-fns/compare/v1.8.1...v1.9.0
|
||
[1.8.1]: https://github.com/date-fns/date-fns/compare/v1.8.0...v1.8.1
|
||
[1.8.0]: https://github.com/date-fns/date-fns/compare/v1.7.0...v1.8.0
|
||
[1.7.0]: https://github.com/date-fns/date-fns/compare/v1.6.0...v1.7.0
|
||
[1.6.0]: https://github.com/date-fns/date-fns/compare/v1.5.2...v1.6.0
|
||
[1.5.2]: https://github.com/date-fns/date-fns/compare/v1.5.1...v1.5.2
|
||
[1.5.1]: https://github.com/date-fns/date-fns/compare/v1.5.0...v1.5.1
|
||
[1.5.0]: https://github.com/date-fns/date-fns/compare/v1.4.0...v1.5.0
|
||
[1.4.0]: https://github.com/date-fns/date-fns/compare/v1.3.0...v1.4.0
|
||
[1.3.0]: https://github.com/date-fns/date-fns/compare/v1.2.0...v1.3.0
|
||
[1.2.0]: https://github.com/date-fns/date-fns/compare/v1.1.1...v1.2.0
|
||
[1.1.1]: https://github.com/date-fns/date-fns/compare/v1.1.0...v1.1.1
|
||
[1.1.0]: https://github.com/date-fns/date-fns/compare/v1.0.0...v1.1.0
|
||
[1.0.0]: https://github.com/date-fns/date-fns/compare/v0.17.0...v1.0.0
|
||
[0.17.0]: https://github.com/date-fns/date-fns/compare/v0.16.0...v0.17.0
|
||
[0.16.0]: https://github.com/date-fns/date-fns/compare/v0.15.0...v0.16.0
|
||
[0.15.0]: https://github.com/date-fns/date-fns/compare/v0.14.11...v0.15.0
|
||
[0.14.11]: https://github.com/date-fns/date-fns/compare/v0.14.10...v0.14.11
|
||
[0.14.10]: https://github.com/date-fns/date-fns/compare/v0.14.9...v0.14.10
|
||
[0.14.9]: https://github.com/date-fns/date-fns/compare/v0.14.8...v0.14.9
|
||
[0.14.8]: https://github.com/date-fns/date-fns/compare/v0.14.6...v0.14.8
|
||
[0.14.6]: https://github.com/date-fns/date-fns/compare/v0.14.0...v0.14.6
|
||
[0.14.0]: https://github.com/date-fns/date-fns/compare/v0.13.0...v0.14.0
|
||
[0.13.0]: https://github.com/date-fns/date-fns/compare/v0.12.1...v0.13.0
|
||
[0.12.1]: https://github.com/date-fns/date-fns/compare/v0.12.0...v0.12.1
|
||
[0.12.0]: https://github.com/date-fns/date-fns/compare/v0.11.0...v0.12.0
|
||
[0.11.0]: https://github.com/date-fns/date-fns/compare/v0.10.0...v0.11.0
|
||
[0.10.0]: https://github.com/date-fns/date-fns/compare/v0.9.0...v0.10.0
|
||
[0.9.0]: https://github.com/date-fns/date-fns/compare/v0.8.0...v0.9.0
|
||
[0.8.0]: https://github.com/date-fns/date-fns/compare/v0.7.0...v0.8.0
|
||
[0.7.0]: https://github.com/date-fns/date-fns/compare/v0.6.0...v0.7.0
|
||
[0.6.0]: https://github.com/date-fns/date-fns/compare/v0.5.0...v0.6.0
|
||
[0.5.0]: https://github.com/date-fns/date-fns/compare/v0.4.0...v0.5.0
|
||
[0.4.0]: https://github.com/date-fns/date-fns/compare/v0.3.0...v0.4.0
|
||
[0.3.0]: https://github.com/date-fns/date-fns/compare/v0.2.0...v0.3.0
|
||
[0.2.0]: https://github.com/date-fns/date-fns/compare/v0.1.0...v0.2.0
|