time-interval
Version:
用于计算两个时间间隔,支持任意单位
33 lines (31 loc) • 982 B
JavaScript
;
/**
* Created by aweiu on 17/3/17.
*/
/**
* @param {Array} unitSizes - 单位对应的毫秒数组
*/
function TimeInterval(unitSizes) {
this.unitSizes = unitSizes.sort(function (unitSize1, unitSize2) {
return unitSize1 < unitSize2;
});
}
/**
* @param {Date} dateTime1 - 待比较的日期1
* @param {Date} [dateTime2 = now] - 待比较的日期2
* @returns {Array} - 按初始化单位的从大到小顺序计算出的间隔数组
*/
TimeInterval.prototype.get = function (dateTime1) {
var dateTime2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date();
var rs = [];
var interval = dateTime2 - dateTime1;
for (var i = 0; i < this.unitSizes.length; i++) {
var unitSize = this.unitSizes[i];
if (interval > unitSize) {
rs.push(parseInt(interval / unitSize));
interval = interval % unitSize;
} else rs.push(0);
}
return rs;
};
module.exports = TimeInterval;