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" | ||
|  | ``` |