time
Easy and immutable time manipulation in JavaScript
Install
$ npm install @mfklauberg/time
Usage
import time, { HOURS, MINUTES, SECONDS } from '@mfklauberg/time';
time(3600);
time(10, HOURS);
time(5, MINUTES);
time(42, SECONDS);
time('12:30', HOURS);
time('9:45', MINUTES);
time
can be converted into a number.
import time, { HOURS, MINUTES, SECONDS } from '@mfklauberg/time';
const x = time(1, HOURS);
const y = time('10:30', HOURS);
const z = time('15:43', MINUTES);
console.log(x.toNumber());
console.log(x.toNumber(SECONDS));
console.log(x.toNumber(MINUTES));
console.log(x.toNumber(HOURS));
console.log(y.toNumber(MINUTES));
console.log(z.toNumber(SECONDS));
From a instance of time
, you can do add
and subtract
on it, which will result in a new time
.
import time, { HOURS, MINUTES, SECONDS } from '@mfklauberg/time';
const x = time(10, HOURS);
const y = x.add(30, MINUTES);
console.log(x.toNumber(MINUTES));
console.log(y.toNumber(MINUTES));
const z = x.subtract('5:30', HOURS);
console.log(z.toNumber(MINUTES));
There's also the possibility to format a time
.
import time, { HOURS, MINUTES, SECONDS } from '@mfklauberg/time';
const x = time(15, HOURS).add(30, MINUTES).add(45, SECONDS);
console.log(x.format())
And also with custom labels, for both singular and plural words.
import time, { HOURS, MINUTES, SECONDS } from '@mfklauberg/time';
const x = time(15, HOURS).add(30, MINUTES).add(45, SECONDS);
const y = time(1, HOURS).add(1, MINUTES).add(1, SECONDS);
const options = {
hour: 'hora',
hours: 'horas',
minute: 'minuto',
minutes: 'minutos',
second: 'segundo',
seconds: 'segundos'
};
console.log(x.format(options));
console.log(y.format(options));
License
MIT