Yet Another Duration
Install
npm install yet-another-duration
Usage
toString()
Transform the number of milliseconds into the Duration string.
-
duration(milliseconds, options).toString()
.-
options
is optional param;
-
const {duration} = require('yet-another-duration');
const result = duration(1649254321).toString();
console.log(result); // 19d 2h 7m 34s
toTimeSpan()
Transform the number of milliseconds into the Timespan string, eq. 01:12:34:55
.
const {duration} = require('yet-another-duration');
const result = duration(131695000).toTimeSpan();
console.log(result); // 01:12:34:55
toISO8601()
Transform the number of milliseconds into the ISO 8601 duration string, eq. P1Y2M10DT2H30M
.
const {duration} = require('yet-another-duration');
const result = duration(131695000).toISO8601();
console.log(result); // P0Y0M1DT12H34M55S
toObject()
Transform the number of milliseconds into the Duration object.
-
duration(milliseconds, options).toObject();
-
options
is optional param;
-
const {duration} = require('yet-another-duration');
const r2 = duration(1649254321).toObject();
console.log(r2); // { years: 0, months: 0, days: 19 ... }
Options
interface DurationConfig {
calculateWeeks?: boolean;
units?: {
max?: string,
min?: string
};
string?: {
trimZerosLeft?: boolean;
trimZerosRight?: boolean;
removeZeros?: boolean;
};
}
-
calculateWeeks
true|false
- include weeks into calculations;
units options
-
max
years|months|weeks|days|hours|minutes|seconds
- set max unit for output:- If set to
hours
, then1m 15d 12h 32m 45s
->1116h 32m 45s
;
- If set to
-
min
years|months|weeks|days|hours|minutes|seconds
- set min unit for output:- If set to
days
, then1m 15d 12h 32m 45s
->1m 15d
;
- If set to
Both options may be provided together. As example:
- If max is set to
days
, min is set tohours
:1m 15d 12h 32m 45s
->46d 12h
;
string options
-
trimZerosLeft
true|false
- remove zero values from left side of the string:- If true, then
0y 0m 0d 2h 0m 30s
->2h 0m 30s
;
- If true, then
-
trimZerosRight
true|false
- remove zero values from right side of the string:- If true, then
0y 0m 5d 12h 0m 0s
->0y 0m 5d 12h
; - If both options is set
true
, thentoString()
will produce5d 12h
instead of0y 0m 5d 12h 0m 0s
;
- If true, then
-
removeZeros
- remove zero values from the string;- When
removeZeros
option istrue
, thentoString()
will produce2h 30s
instead of0y 0m 0d 2h 0m 30s
;
- When
Examples
JavaScript
Specifying defaults
const {duration} = require('yet-another-duration');
const timer = duration.defaults({ ... });
timer(1234567).toObject();
-
defaults
is not affecting the duration library in another modules.