ascor
Version:
一些常用的简单的js工具
48 lines (47 loc) • 1.53 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.dateFormat = void 0;
var index_1 = require("../is/index");
/**
* 时间格式化
* @param {Date | Number} date 时间对象,如new Date(),new Date('2019/05/05 08:08:08') 或时间戳 如:1596507000
* @param {String} fmt 格式,如”YYYY-mm-dd HH:MM:SS“
* @return 返回格式化的字符串
*/
exports.dateFormat = function (date, fmt) {
if (date === void 0) { date = new Date(); }
if (fmt === void 0) { fmt = "YYYY-mm-dd HH:MM"; }
if (index_1.isNumber(date)) {
date = new Date(date);
}
if (index_1.isString(date)) {
if (!isNaN(date)) {
date = new Date(Number(date));
}
else {
date = new Date(date.replace(/\-+/g, "/"));
}
}
if (!(date instanceof Date) || isNaN(date.getTime())) {
return date;
}
if (index_1.isEmpty(fmt)) {
return date;
}
var opt = {
"Y+": date.getFullYear().toString(),
"y+": date.getFullYear().toString(),
"m+": (date.getMonth() + 1).toString(),
"d+": date.getDate().toString(),
"H+": date.getHours().toString(),
"M+": date.getMinutes().toString(),
"S+": date.getSeconds().toString(),
};
for (var k in opt) {
var ret = new RegExp("(" + k + ")").exec(fmt);
if (ret) {
fmt = fmt.replace(ret[1], ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, "0"));
}
}
return fmt;
};