UNPKG

dareway-rui

Version:

199 lines (164 loc) 6.35 kB
'use strict'; 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