dareway-rui
Version:
199 lines (164 loc) • 6.35 kB
JavaScript
;
var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault');
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.default = void 0;
var _date = _interopRequireDefault(require('./date'));
var _URL = _interopRequireDefault(require('./URL'));
var _request = _interopRequireDefault(require('./request'));
var _utils = require('../core/utils');
var _moment = _interopRequireDefault(require('moment'));
var _FrameConstants = require('../constants/FrameConstants');
function getDBDate() {
var url = new _URL.default('rui_dateUtil/getDBDate');
return (0, _request.default)(url).then(function(result) {
return result.date;
});
}
function getDBTime() {
var url = new _URL.default('rui_dateUtil/getDBTime');
return (0, _request.default)(url).then(function(result) {
return result.date;
});
}
function formatDate(date, format) {
if (!format) {
throw new Error('DateUtil.formatDate入参【format】不能为空,请检查!');
}
if (!(date instanceof _date.default)) {
throw new Error('DateUtil.formatDate入参【date:' + date + '】不是日期类型,请检查!');
}
if (format.indexOf('hh') > -1) {
format = format.replace('hh', 'HH');
}
return date.format(format);
}
function checkDate(str, formatString) {
if (!str) {
throw new Error('DateUtil.checkDate入参数【str】不能空或null,请检查!');
}
if (!formatString) {
throw new Error('DateUtil.checkDate入参【formatString】不能为空或null,请检查!');
}
if (formatString.indexOf('hh') > -1) {
formatString = formatString.replace('hh', 'HH');
}
return _date.default.isValid(str, formatString);
}
function getMonthsBetweenTwoDate(startDate, endDate) {
if (arguments.length != 2 || !(startDate instanceof _date.default) || !(endDate instanceof _date.default)) {
throw new Error('DateUtil.compareDate函数的入参必须为2个Date类型值,请检查入参个数以及入参类型是否正确!');
}
var startYear = Number(startDate.format('yyyy'));
var startMonth = Number(startDate.format('MM'));
var startDay = Number(startDate.format('dd'));
var endYear = Number(endDate.format('yyyy'));
var endMonth = Number(endDate.format('MM'));
var endDay = Number(endDate.format('dd'));
var months = (endYear - startYear) * 12 + (endMonth - startMonth);
months += (endDay - startDay) / 31.0;
return Math.floor(months);
}
function compareDate(date1, date2) {
if (arguments.length != 2 || !(date1 instanceof _date.default) || !(date2 instanceof _date.default)) {
throw new Error('DateUtil.compareDate函数的入参必须为2个Date类型值,请检查入参个数以及入参类型是否正确!');
}
if (date1.isBefore(date2)) {
return 1;
} else if (date1.isAfter(date2)) {
return -1;
} else {
return 0;
}
}
function stringToDate(dateStr, format) {
if (!dateStr) {
throw new Error('DateUtil.stringToDate输入参数【dateStr】不能为空,请检查!');
}
if (!format) {
throw new Error('DateUtil.stringToDate输入参数【format】不能为空,请检查!');
}
if (format.indexOf('hh') > -1) {
format = format.replace('hh', 'HH');
}
return _date.default.parseString(dateStr, format);
}
function getDayDifferenceBetweenTwoDate(beginDate, endDate) {
if (!beginDate) {
throw new Error('DateUtil.getDayDifferenceBetweenTwoDate入参【beginDate】不能为空,请检查!');
}
if (!endDate) {
throw new Error('DateUtil.getDayDifferenceBetweenTwoDate入参【endDate】不能为空,请检查!');
}
if (!(beginDate instanceof _date.default)) {
throw new Error('DateUtil.getDayDifferenceBetweenTwoDate入参【beginDate】必须为Date类型,请检查!');
}
if (!(endDate instanceof _date.default)) {
throw new Error('DateUtil.getDayDifferenceBetweenTwoDate入参【endDate】必须为Date类型,请检查!');
}
var t1 = beginDate.getTime();
var t2 = endDate.getTime();
var days = parseInt((t2 - t1) / 86400000);
return days;
}
function addMonths(date, months) {
(0, _utils.check)(
date,
_utils.is.date,
'DateUtil.addMonths(date, months)\u5165\u53C2\u3010date\u3011\u5FC5\u987B\u4E3A Date \u7C7B\u578B\uFF0C\u5F53\u524D\u503C\u4E3A '.concat(
date,
'\uFF0C\u8BF7\u68C0\u67E5!'
)
);
(0, _utils.check)(
months,
_utils.is.number,
'DateUtil.addMonths(date, months)\u5165\u53C2\u3010months\u3011\u5FC5\u987B\u4E3A number \u7C7B\u578B\uFF0C\u5F53\u524D\u503C\u4E3A '.concat(
months,
'\uFF0C\u8BF7\u68C0\u67E5!'
)
);
var m = (0, _moment.default)(date);
m.add(months, 'months');
var mstr = m.format('YYYYMMDDHHmmss');
var result = stringToDate(mstr, _FrameConstants.DAREWAY_STANDARD_DATETIME_TRANSFORM_FORMAT);
return result;
}
function addDays(date, days) {
(0, _utils.check)(
date,
_utils.is.date,
'DateUtil.addDays(date, days)\u5165\u53C2\u3010date\u3011\u5FC5\u987B\u4E3A Date \u7C7B\u578B\uFF0C\u5F53\u524D\u503C\u4E3A '.concat(
date,
'\uFF0C\u8BF7\u68C0\u67E5!'
)
);
(0, _utils.check)(
days,
_utils.is.number,
'DateUtil.addDays(date, days)\u5165\u53C2\u3010days\u3011\u5FC5\u987B\u4E3A number \u7C7B\u578B\uFF0C\u5F53\u524D\u503C\u4E3A '.concat(
days,
'\uFF0C\u8BF7\u68C0\u67E5!'
)
);
var m = (0, _moment.default)(date);
m.add(days, 'days');
var mstr = m.format('YYYYMMDDHHmmss');
var result = stringToDate(mstr, _FrameConstants.DAREWAY_STANDARD_DATETIME_TRANSFORM_FORMAT);
return result;
}
var _default = {
formatDate: formatDate,
checkDate: checkDate,
getMonthsBetweenTwoDate: getMonthsBetweenTwoDate,
getDayDifferenceBetweenTwoDate: getDayDifferenceBetweenTwoDate,
compareDate: compareDate,
stringToDate: stringToDate,
getDBDate: getDBDate,
getDBTime: getDBTime,
addDays: addDays,
addMonths: addMonths
};
exports.default = _default;
//@ sourceMappingURL=DateUtil.js.map