time-interval
Version:
用于计算两个时间间隔,支持任意单位
28 lines (27 loc) • 853 B
JavaScript
/**
* Created by aweiu on 17/3/17.
*/
/**
* @param {Array} unitSizes - 单位对应的毫秒数组
*/
function TimeInterval (unitSizes) {
this.unitSizes = unitSizes.sort((unitSize1, unitSize2) => unitSize1 < unitSize2)
}
/**
* @param {Date} dateTime1 - 待比较的日期1
* @param {Date} [dateTime2 = now] - 待比较的日期2
* @returns {Array} - 按初始化单位的从大到小顺序计算出的间隔数组
*/
TimeInterval.prototype.get = function (dateTime1, dateTime2 = 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
}
export default TimeInterval