“Don’t undermine your worth by comparing yourself with others. ”
简介
我们日常开发中免不了时间格式化的一些操作,接口传给我们的一般是时间戳,这时就要我们做时间的格式化,像稍微复杂一点的还有加减一天、加减一月这种。
这里把我经常用的分享出来:
微码
Date.prototype.format = function (format) {
var o = {
"M+": this.getMonth() + 1, //month
"d+": this.getDate(), //day
"h+": this.getHours(), //hour
"m+": this.getMinutes(), //minute
"s+": this.getSeconds(), //second
"q+": Math.floor((this.getMonth() + 3) / 3), //quarter
"S": this.getMilliseconds() //millisecond
}
var week=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
}
if (/(w+)/.test(format)){
format = format.replace(RegExp.$1, week[this.getDay()]);
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
}
}
return format;
}
Date.prototype.add = function (part, value) {
value *= 1;
if (isNaN(value)) {
value = 0;
}
switch (part) {
case "y":
this.setFullYear(this.getFullYear() + value);
break;
case "m":
this.setMonth(this.getMonth() + value);
break;
case "d":
this.setDate(this.getDate() + value);
break;
case "h":
this.setHours(this.getHours() + value);
break;
case "n":
this.setMinutes(this.getMinutes() + value);
break;
case "s":
this.setSeconds(this.getSeconds() + value);
break;
default:
}
return this
}
使用方法
new Date().add("m", -1).format('yyyy-MM-dd hh:mm:ss w')
这里就是当前日期减去一个月后的日期
如: