@discuzq/sdk
Version:
discuz dsk
65 lines (48 loc) • 1.69 kB
JavaScript
;
require("core-js/modules/es.object.keys.js");
require("core-js/modules/es.object.to-string.js");
require("core-js/modules/es.regexp.constructor.js");
require("core-js/modules/es.regexp.exec.js");
require("core-js/modules/es.regexp.to-string.js");
require("core-js/modules/es.string.replace.js");
require("core-js/modules/web.dom-collections.for-each.js");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = _default;
/**
* 时间格式化
* @param {date|number} date 需要格式化的日期(数字或Date()格式)
* @param {string} fmt 'yyyy/MM/dd hh:mm:ss'
* @return {string} 格式化后的内容
*/
function _default(date) {
var fmt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'yyyy/MM/dd hh:mm:ss';
var _date;
var _fmt = fmt;
if (typeof date === 'number' && date > 0) {
_date = new Date(date);
} else if (date instanceof Date) {
_date = date;
} else {
return false;
} // 先处理年份
if (/(y+)/.test(fmt)) {
var year = _date.getFullYear().toString();
_fmt = _fmt.replace(RegExp.$1, RegExp.$1.length > 4 ? year : year.substr(4 - RegExp.$1.length));
} // 再处理其余时间
var dateRegExpMap = {
'M+': _date.getMonth() + 1,
'd+': _date.getDate(),
'h+': _date.getHours(),
'm+': _date.getMinutes(),
's+': _date.getSeconds()
};
Object.keys(dateRegExpMap).forEach(function (key) {
if (new RegExp("(".concat(key, ")")).test(fmt)) {
var str = "".concat(dateRegExpMap[key]);
_fmt = _fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : "00".concat(str).substr(str.length));
}
});
return _fmt;
}