You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					84 lines
				
				2.0 KiB
			
		
		
			
		
	
	
					84 lines
				
				2.0 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								# 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"
							 | 
						||
| 
								 | 
							
								```
							 |