UNPKG

@discuzq/sdk

Version:

discuz dsk

65 lines (48 loc) 1.69 kB
"use strict"; 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; }