date-tools
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

date-tools

Build Status Coverage Status npm version Dependency Status License

Functions for comparing and counting with dates. Includes Typescript typings.

Install

yarn add date-tools
npm install --save date-tools

Usage

add/subtract

import {Duration, add, subtract} from 'date-tools';
 
add(Date(2000, 1, 1), Duration.Days(5)) === Date(2000, 1, 6)
subtract(Date(2000, 1, 6), Duration.Days(5)) === Date(2000, 1, 1)
 
add(Date(2000, 1, 1), Duration.Months(2)) === Date(2000, 3, 1)
subtract(Date(2000, 3, 1), Duration.Months(2)) === Date(2000, 1, 1)
 
// You can also use them as methods on the date
Date(2000, 1, 1).add(Duration.Days(5)) === Date(2000, 1, 6)
Date(2000, 1, 6).subtract(Duration.Days(5)) === Date(2000, 1, 1)
Date(2000, 1, 1).add(Duration.Months(2)) === Date(2000, 3, 1)
Date(2000, 3, 1).subtract(Duration.Months(2)) === Date(2000, 1, 1)

isEqual

import {Precision, isEqual} from 'date-tools';
 
isEqual(Date(2000, 1, 1), Date(2000, 1, 2), {precision: Precision.Days}) === false
isEqual(Date(2000, 1, 1), Date(2000, 1, 2), {precision: Precision.Months}) === true

timeBetween

 
import {Duration, timeBetween} from 'date-tools';
import {match} from 'rusted'
 
const compare = (start, end) => match(timeBetween(start, end), {
  Days: days => `There are ${days} days between the dates`,
  Months: months => `There are ${months} months between the dates`,
})
 
compare(Date(2000, 1, 1), Date(2000, 1, 3)) === 'There are 2 days between the dates'
compare(Date(2000, 1, 1), Date(2000, 3, 1)) === 'There are 2 months between the dates'

More Usage

Take a look at the test file.

Readme

Keywords

none

Package Sidebar

Install

npm i date-tools

Weekly Downloads

10

Version

2.0.0

License

MIT

Last publish

Collaborators

  • pajn