t-comm
Version: 
专业、稳定、纯粹的工具库
156 lines (152 loc) • 4.03 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
/**
 * 获取几天前的时间戳
 * @private
 * @param {boolean} n 几天前
 * @returns {number} 时间戳
 */
function getTimeStamp(n) {
  if (n === void 0) {
    n = 0;
  }
  return Date.now() - n * 24 * 60 * 60 * 1000;
}
/**
 * 获取几天前的起始时间戳
 * @param {boolean} n 几天前
 * @returns {number} 时间戳
 */
function getDayStartTimestamp(n, unit) {
  if (n === void 0) {
    n = 0;
  }
  if (unit === void 0) {
    unit = 's';
  }
  var time = getTimeStamp(n);
  var date = new Date(time);
  date.setHours(0, 0, 0, 0);
  if (unit === 'ms' || unit === 'MS') {
    return date.getTime();
  }
  var startTime = parseInt("".concat(date.getTime() / 1000), 10);
  return startTime;
}
/**
 * 获取几天前的终止时间戳
 * @param {boolean} n 几天前
 * @param {string} unit 返回时间戳的单位,默认是s(秒)
 * @param {string} endFlag 以什么单位作为结束时间,默认分钟,即23时59分0秒0毫秒
 * @returns {number} 时间戳
 */
function getDayEndTimeStamp(n, unit, endFlag) {
  if (n === void 0) {
    n = 0;
  }
  if (unit === void 0) {
    unit = 's';
  }
  if (endFlag === void 0) {
    endFlag = 'm';
  }
  var time = getTimeStamp(n);
  var date = new Date(time);
  if (['h', 'hh', 'H'].indexOf(endFlag) > -1) {
    date.setHours(23, 0, 0, 0);
  } else if (['m', 'mm', 'M'].indexOf(endFlag) > -1) {
    date.setHours(23, 59, 0, 0);
  } else if (['s', 'ss', 'S'].indexOf(endFlag) > -1) {
    date.setHours(23, 59, 59, 0);
  } else if (['ms', 'MS'].indexOf(endFlag) > -1) {
    date.setHours(23, 59, 59, 999);
  }
  if (unit === 'ms' || unit === 'MS') {
    return date.getTime();
  }
  var endTime = parseInt("".concat(date.getTime() / 1000), 10);
  return endTime;
}
function getTodayStartTimestamp(unit) {
  if (unit === void 0) {
    unit = 's';
  }
  return getDayStartTimestamp(0, unit);
}
function getTodayEndTimeStamp(unit, endFlag) {
  if (unit === void 0) {
    unit = 's';
  }
  if (endFlag === void 0) {
    endFlag = 'm';
  }
  return getDayEndTimeStamp(0, unit, endFlag);
}
function getYesterdayStartTimeStamp(unit) {
  if (unit === void 0) {
    unit = 's';
  }
  return getDayStartTimestamp(1, unit);
}
function getYesterdayEndTimeStamp(unit, endFlag) {
  if (unit === void 0) {
    unit = 's';
  }
  if (endFlag === void 0) {
    endFlag = 'm';
  }
  return getDayEndTimeStamp(1, unit, endFlag);
}
function getDBYStartTimeStamp(unit) {
  if (unit === void 0) {
    unit = 's';
  }
  return getDayStartTimestamp(2, unit);
}
function getDBYEndTimeStamp(unit, endFlag) {
  if (unit === void 0) {
    unit = 's';
  }
  if (endFlag === void 0) {
    endFlag = 'm';
  }
  return getDayEndTimeStamp(2, unit, endFlag);
}
/**
 * 查询距今有多少天
 * @param date 时间
 * @returns 距今多少天
 * @ignore
 */
function getDaysFromToday(date) {
  var zero = new Date(date);
  zero.setHours(0, 0, 0, 0);
  var now = new Date();
  now.setHours(0, 0, 0);
  var days = (now.getTime() - zero.getTime()) / (1 * 24 * 60 * 60 * 1000);
  return parseInt("".concat(days), 10);
}
function getSomeDayStartTimeStamp(date, unit) {
  if (unit === void 0) {
    unit = 's';
  }
  var days = getDaysFromToday(date);
  return getDayStartTimestamp(days, unit);
}
function getSomeDayEndTimeStamp(date, unit) {
  if (unit === void 0) {
    unit = 's';
  }
  var days = getDaysFromToday(date);
  return getDayEndTimeStamp(days, unit);
}
exports.getDBYEndTimeStamp = getDBYEndTimeStamp;
exports.getDBYStartTimeStamp = getDBYStartTimeStamp;
exports.getDayEndTimeStamp = getDayEndTimeStamp;
exports.getDayStartTimestamp = getDayStartTimestamp;
exports.getSomeDayEndTimeStamp = getSomeDayEndTimeStamp;
exports.getSomeDayStartTimeStamp = getSomeDayStartTimeStamp;
exports.getTodayEndTimeStamp = getTodayEndTimeStamp;
exports.getTodayStartTimestamp = getTodayStartTimestamp;
exports.getYesterdayEndTimeStamp = getYesterdayEndTimeStamp;
exports.getYesterdayStartTimeStamp = getYesterdayStartTimeStamp;