UNPKG

@onesy/date

Version:

Time and date utils library

24 lines (23 loc) 1.26 kB
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); } }