@onesy/date
Version:
Time and date utils library
24 lines (23 loc) • 1.26 kB
JavaScript
import OnesyDate, { units } from './OnesyDate';
export default function In() {
let to = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : OnesyDate.onesyDate;
let withPrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
let from = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : OnesyDate.onesyDate;
if (to.valid && from.valid && to.milliseconds > from.milliseconds) {
let value = '';
const ins = {
milliseconds: to.milliseconds - from.milliseconds
};
ins['second'] = Math.floor(ins['milliseconds'] / 1e3);
ins['minute'] = Math.floor(ins['second'] / 6e1);
ins['hour'] = Math.floor(ins['minute'] / 6e1);
ins['day'] = Math.floor(ins['hour'] / 24);
ins['month'] = Math.floor(ins['day'] / 30);
ins['year'] = Math.floor(ins['month'] / 12);
units.forEach(unit => {
if (ins[unit] > 0) value = ins[unit] === 1 ? "a".concat(unit === 'hour' ? 'n' : '', " ").concat(unit) : "".concat(ins[unit], " ").concat(unit, "s");
if (unit === 'second' && ins[unit] < 14) value = "a few seconds";else if (unit === 'millisecond' && ins[unit] < 14) value = "a few seconds";
});
return "".concat(withPrefix ? 'in ' : '').concat(value);
}
}