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;