自己封装的大合集咯嘻嘻
/**
* 获取本周、本季度、本月、上月的开端日期、停止日期
*/
var now = new Date(); //当前日期
var nowDayOfWeek = now.getDay(); //今天本周的第几天
var nowDay = now.getDate(); //当前日
var nowMonth = now.getMonth(); //当前月
var nowYear = now.getYear(); //当前年
nowYear += (nowYear < 2000) ? 1900 : 0;
var lastMonthDate = new Date(); //上月日期
lastMonthDate.setDate(1);
lastMonthDate.setMonth(lastMonthDate.getMonth() - 1);
var lastYear = lastMonthDate.getYear();
var lastMonth = lastMonthDate.getMonth();
export default {
//格局化日期:yyyy-MM-dd
formatDate(date) {
var myyear = date.getFullYear();
var mymonth = date.getMonth() + 1;
var myweekday = date.getDate();
if (mymonth < 10) {
mymonth = "0" + mymonth;
}
if (myweekday < 10) {
myweekday = "0" + myweekday;
}
return (myyear + "-" + mymonth + "-" + myweekday);
},
//yyyy-MM-dd HH:mm:ss
normalTime(time, type) {
if (time) {
var date = new Date();
date.setTime(time);
var year = date.getFullYear();
var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) * 1 : date.getMonth() + 1;
var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
if (type == '-') {
return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;
} else if (type == '/') {
return year + '/' + month + '/' + day + ' ' + hours + ':' + minutes + ':' + seconds;
} else if (type == '.') {
return year + '.' + month + '.' + day + ' ' + hours + ':' + minutes + ':' + seconds;
} else {
return year + '年' + month + '月' + day + '日' + ' ' + hours + ':' + minutes + ':' + seconds;
}
}
}
//返回最近x日时间段
fun_date(aa) {
var formInline = {};
var date1 = new Date();
formInline.end_time =
date1.getFullYear() +
"-" +
(date1.getMonth() + 1) +
"-" +
date1.getDate();
var date2 = new Date(date1);
date2.setDate(date1.getDate() - aa);
formInline.start_time =
date2.getFullYear() +
"-" +
(date2.getMonth() + 1) +
"-" +
date2.getDate();
return formInline
}
//获得某月的天数
getMonthDays(myMonth) {
var monthStartDate = new Date(nowYear, myMonth, 1);
var monthEndDate = new Date(nowYear, myMonth + 1, 1);
var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);
return days;
},
//获得本季度的开端月份
getQuarterStartMonth() {
var quarterStartMonth = 0;
if (nowMonth < 3) {
quarterStartMonth = 0;
}
if (2 < nowMonth && nowMonth < 6) {
quarterStartMonth = 3;
}
if (5 < nowMonth && nowMonth < 9) {
quarterStartMonth = 6;
}
if (nowMonth > 8) {
quarterStartMonth = 9;
}
return quarterStartMonth;
},
//获得本周的开端日期
getWeekStartDate() {
var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek + 1);
return this.formatDate(weekStartDate);
},
//获得本周的停止日期
getWeekEndDate() {
var weekEndDate = new Date(nowYear, nowMonth, nowDay + (7 - nowDayOfWeek));
return this.formatDate(weekEndDate);
},
//获得本月的开端日期
getMonthStartDate() {
var monthStartDate = new Date(nowYear, nowMonth, 1);
return this.formatDate(monthStartDate);
},
//获得本月的停止日期
getMonthEndDate() {
var monthEndDate = new Date(nowYear, nowMonth, this.getMonthDays(nowMonth));
return this.formatDate(monthEndDate);
},
//获得上月开端时候
getLastMonthStartDate() {
var lastMonthStartDate = new Date(nowYear, lastMonth, 1);
return this.formatDate(lastMonthStartDate);
},
//获得上月停止时候
getLastMonthEndDate() {
var lastMonthEndDate = new Date(nowYear, lastMonth, this.getMonthDays(lastMonth));
return this.formatDate(lastMonthEndDate);
},
//获得本季度的开端日期
getQuarterStartDate() {
var quarterStartDate = new Date(nowYear, this.getQuarterStartMonth(), 1);
return this.formatDate(quarterStartDate);
},
//或的本季度的停止日期
getQuarterEndDate() {
var quarterEndMonth = this.getQuarterStartMonth() + 2;
var quarterStartDate = new Date(nowYear, quarterEndMonth, this.getMonthDays(quarterEndMonth));
return this.formatDate(quarterStartDate);
},
//本月开始日
getStartMonth() {
let time = new Date();
let y = time.getFullYear();
let m = time.getMonth() + 1;
if (m < 10) {
m = '0' + m
}
let ss = y + '-' + m + '-01';
return ss;
},
//本月结束月
getEndMonth() {
let time = new Date();
let y = time.getFullYear();
let m = time.getMonth() + 1;
if (m < 10) {
m = '0' + m
}
if (m == 2) {
if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) {
var ee = y + '-' + m + '-29';
} else {
var ee = y + '-' + m + '-28';
}
} else if (m % 2 == 0) {
var ee = y + '-' + m + '-31';
} else {
var ee = y + '-' + m + '-30';
}
return ee;
},
//获取当天
getToday() {
let time = new Date();
let y = time.getFullYear();
let m = time.getMonth() + 1;
let d = time.getDate();
if (m < 10) {
m = '0' + m
}
if (d < 10) {
d = '0' + d
}
return y + '-' + m + '-' + d;
},
//获取cookie
getCookie(name) {
var arr,
reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if ((arr = document.cookie.match(reg))) {
return unescape(arr[2]);
} else {
return null;
}
},
setCookie(option) {
option = option || {};
//option 可设置属性:name value domain expires path secure SameSite
if (option.expires) { //将配置项中的过期时间格式化
option.expires = +new Date() + option.expires * 1000;
option.expires = new Date(option.expires).toGMTString();
}
var cookie = [];
for (var key in option) {
cookie.push(key + "=" + option[key])
}
document.cookie = cookie.join("; ")
},
//删除cookie
delCookie(name) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = this.getCookie(name);
if (cval != null)
document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}
}