84 lines
2.0 KiB
Markdown
84 lines
2.0 KiB
Markdown
|
# Getting Started
|
||
|
|
||
|
## Table of Contents
|
||
|
|
||
|
- [Introduction](#introduction)
|
||
|
|
||
|
- [Submodules](#submodules)
|
||
|
|
||
|
- [Installation](#installation)
|
||
|
|
||
|
## Introduction
|
||
|
|
||
|
**date-fns** provides the most comprehensive, yet simple and consistent toolset
|
||
|
for manipulating **JavaScript dates** in **a browser** & **Node.js**.
|
||
|
|
||
|
**date-fns** is like [lodash](https://lodash.com) for dates. It has
|
||
|
[**140+ functions** for all occasions](https://date-fns.org/docs/).
|
||
|
|
||
|
```js
|
||
|
import { format, compareAsc } from 'date-fns'
|
||
|
|
||
|
format(new Date(2014, 1, 11), 'MM/dd/yyyy')
|
||
|
//=> '02/11/2014'
|
||
|
|
||
|
const dates = [new Date(1995, 6, 2), new Date(1987, 1, 11), new Date(1989, 6, 10)]
|
||
|
dates.sort(compareAsc)
|
||
|
//=> [
|
||
|
// Wed Feb 11 1987 00:00:00,
|
||
|
// Mon Jul 10 1989 00:00:00,
|
||
|
// Sun Jul 02 1995 00:00:00
|
||
|
// ]
|
||
|
```
|
||
|
|
||
|
## Submodules
|
||
|
|
||
|
**date-fns** includes some optional features as submodules in the npm package.
|
||
|
Here is the list of them, in order of nesting:
|
||
|
|
||
|
- FP — functional programming-friendly variations of the functions. See [FP Guide](https://date-fns.org/docs/FP-Guide);
|
||
|
|
||
|
- UTC (in development) — variations of the functions which calculate dates in UTC±00:00 timezone.
|
||
|
|
||
|
The later submodules are also included inside the former if you want to use multiple features from the list.
|
||
|
|
||
|
To use submodule features, [install the npm package](#npm) and then import a function from a submodule:
|
||
|
|
||
|
```js
|
||
|
// The main submodule:
|
||
|
import addDays from 'date-fns/addDays'
|
||
|
|
||
|
// FP variation:
|
||
|
import addDays from 'date-fns/fp/addDays'
|
||
|
|
||
|
// UTC variation:
|
||
|
import addDays from 'date-fns/utc/addDays'
|
||
|
|
||
|
// Both FP and UTC:
|
||
|
import addDays from 'date-fns/fp/utc/addDays'
|
||
|
|
||
|
// With tree-shaking enabled:
|
||
|
import { addDays, format } from 'date-fns/fp'
|
||
|
```
|
||
|
|
||
|
## Installation
|
||
|
|
||
|
The library is available as an [npm package](https://www.npmjs.com/package/date-fns).
|
||
|
|
||
|
To install the package, run:
|
||
|
|
||
|
```bash
|
||
|
npm install date-fns --save
|
||
|
# or
|
||
|
yarn add date-fns
|
||
|
```
|
||
|
|
||
|
Start using:
|
||
|
|
||
|
```js
|
||
|
import { formatDistance, subDays } from 'date-fns'
|
||
|
|
||
|
formatDistance(subDays(new Date(), 3), new Date())
|
||
|
//=> "3 days ago"
|
||
|
```
|