12

Show EJ: datecalc - perform date calculations given a simple string pattern

 4 years ago
source link: https://github.com/tuplo/datecalc
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

datecalc

Perform date calculations given a simple string pattern.

Install

$ npm install @tuplo/datecalc

# or with yarn
$ yarn add @tuplo/datecalc

Usage

import datecalc from '@tuplo/datecalc';

Performs calculations assuming now by default

// assuming New Year's Day 2020, 14:00
// in two days, same time
datecalc('2D'); // → new Date('2020-01-03T14:00:00')

// two weeks ago
datecalc('-2W'); // → new Date('2019-12-18T14:00:00')

// in 15 minutes
datecalc('15m'); // → new Date('2020-01-01T14:15:00')

// tomorrow, two hours less than now
datecalc('1D -2h'); // → new Date('2020-01-02T12:00:00')

Performs sucessive calculations

// 58 years and 2 months from now, less 4 hours
datecalc('58Y 2M -4h'); // → new Date('2078-03-01T10:00:00')

Calculates from a given date

const birthday = new Date('1961-07-04T11:00:00');
// 58 years from birthday
datecaclc('58Y', birthday); // → new Date('2019-07-04T11:00:00')

Accepted patterns

Pattern Period D Day W Week M Month Y Year h Hour m Minute s Second

API

datecalc(format: string, fromDate?: Date): Date

pattern: string

The pattern declaring what calculations to perform.

Format: /([0-9-]+[DWMYhms])/g

fromDate: Date

The starting moment from when to start calculating.

Default: new Date(Date.now())

Return value: Date

Returns a new Date

Contribute

Contributions are always welcome!

License

MIT


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK