@korbiniankuhn/datetime v1.1.3
datetime
High performance date manipulations.
This library just provides human readable functions for simple, mostly mathematical date operations. All operations are expecting a valid date object and do not check their input arguments to provide maximum performance. If you want immutability, use the clone function.
There are already a lot of very good libraries like momentjs, date-fns, dayjs or instadate.
Use this library, if you want:
- the highest performance
- have a moment like syntax
Don't use this library, if you need:
- language internationalization
- date input or output parsing support for various non-standard formats
All functions are tested against momentjs operations.
Installation
For installation use the Node Package Manager:
$ npm install --save @korbiniankuhn/datetimeor clone the repository:
$ git clone https://github.com/KorbinianKuhn/datetimeGetting started
const datetime = require('@korbiniankuhn/datetime');
/* Create new date object add two months and return native date object */
datetime()
.add(2, 'months')
.toDate();
/* An immutable usage */
datetime()
.clone()
.subtract(1, 'year')
.toDate();
/* Create a new utc date */
datetime
.utc()
.add(2000, 'ms')
.toDate();
/* Use existing date */
datetime(new Date())
.startOf('month')
.toDate();API
datetime().add(amount, unit): Add interval to date.
datetime().clone(): Create a copy of the date.
datetime().daysInMonth(): Get the number of days in month.
datetime().daysInQuarter(): Get the number of days in quarter.
datetime().daysInYear(): Get the number of days in year.
datetime().diff(date, unit): Get the difference between two dates.
datetime().endOf(unit): Set date to end of given interval.
datetime().getQuarter(): Get quarter of date in year. First quarter starts with 1.
datetime().get(unit): Get value of given unit.
datetime().isAfter(date, unit): Check if date is after another date.
datetime().isBefore(date, unit): Check if date is before another date.
datetime().isLeapYear(): Check if date is a leap year.
datetime().isSame(date, unit): Check if date is same as another date.
datetime().isSameOrAfter(date, unit): Check if date is same as or after another date.
datetime().isSameOrBefore(date, unit): Check if date is same as or after another date.
datetime().isUTC(): Returns if the DateTime object is in UTC mode.
datetime().isValid(): Check if date is valid.
datetime().set(value, unit): Set value of given unit.
datetime().startOf(unit): Set date to end of given interval.
datetime().subtract(amount, unit): Subtract interval from date.
datetime().toUTC(): Convert date to utc timezone.
datetime().unix(): Get a unix timestamp of the date (without milliseconds).
Testing
First you have to install all dependencies:
$ npm installTo execute all unit tests once, use:
$ npm testTo get information about the test coverage, use:
$ npm run test:coverageContribution
Get involved and push in your ideas.
Do not forget to add corresponding tests to keep up 100% test coverage.