在vue中或其他框架中可以在Date的原型链中添加Format的方法,如ruoyi可以写在main.js中更好,如果写在utils还需要去导入包。
正常的js直接放到utils.js就好
Date.prototype.Format = function (formatStr) {
var str = formatStr;
var Week = [‘日‘, ‘一‘, ‘二‘, ‘三‘, ‘四‘, ‘五‘, ‘六‘];
str = str.replace(/yyyy|YYYY/, this.getFullYear());
str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : ‘0‘ + (this.getYear() % 100));
var month = this.getMonth() + 1;
str = str.replace(/MM/, month > 9 ? month.toString() : ‘0‘ + month);
str = str.replace(/M/g, month);
str = str.replace(/w|W/g, Week[this.getDay()]);
str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : ‘0‘ + this.getDate());
str = str.replace(/d|D/g, this.getDate());
str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : ‘0‘ + this.getHours());
str = str.replace(/h|H/g, this.getHours());
str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : ‘0‘ + this.getMinutes());
str = str.replace(/m/g, this.getMinutes());
str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : ‘0‘ + this.getSeconds());
str = str.replace(/s|S/g, this.getSeconds());
return str;
}
1.Date类型转化为固定的String格式
//创建日期
let newDate = new Date("Mon Mar 01 2021 11:33:32 GMT+0800 (中国标准时间)").Format("yyyy-MM-dd HH:mm:ss")
console.log(newDate) //2021-03-01 11:33:32 这个是String类型
2.固定的String格式转化为Date类型
let sd = "2021-03-01 11:33:32";
let array = t.split("-");
let dt = new Date(array[0], array[1], array[2]);
var dtt = new Date(t.replace("-g-/", ""));
console.log(dtt) //"Mon Mar 01 2021 11:33:32 GMT+0800 (中国标准时间)"