@korbiniankuhn/datetime
v1.1.3
Published
High performance date manipulations
Downloads
14
Maintainers
Readme
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/datetime
or clone the repository:
$ git clone https://github.com/KorbinianKuhn/datetime
Getting 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 install
To execute all unit tests once, use:
$ npm test
To get information about the test coverage, use:
$ npm run test:coverage
Contribution
Get involved and push in your ideas.
Do not forget to add corresponding tests to keep up 100% test coverage.