获取指定周的第一天:根据day的值来获取之前周的第一天,day表示周数,如果day的值为1,返回的值为上周一,为2返回上上周一,以此类推
// 获取指定周第一天
Vue.prototype.getNowWeekStart = function(day) {
let date = new Date();
let dateStart = '';
dateStart = new Date(new Date(date).getTime() - (3600 * 1000 * 24 * (new Date(date).getDay() == 0 ? (6 + day * 7) : (new Date(date).getDay() - 1) + day * 7)))
let year = dateStart.getFullYear(); //获取完整的年份(4位,1970-????)
let month = dateStart.getMonth() + 1; //获取当前月份(0-11,0代表1月)
let today = dateStart.getDate(); //获取当前日(1-31)
let nowTime = '';
nowTime = year + '-' + fillZero(month) + '-' + fillZero(today)
return nowTime;
};
获取指定周的最后一天:根据day的值来获取之前周的最后一天,day表示周数,如果day的值为1,返回的值为上周天,为2返回上上周天,以此类推
// 获取指定周最后一天
Vue.prototype.getNowWeekEnd = function(day) {
let date = new Date();
let dateEnd = '';
dateEnd = new Date(new Date(date).getTime() + (3600 * 1000 * 24 * (new Date(date).getDay() == 0 ? (day * 7) : (7 - new Date(date).getDay(date) - day * 7))));
let year = dateEnd.getFullYear(); //获取完整的年份(4位,1970-????)
let month = dateEnd.getMonth() + 1; //获取当前月份(0-11,0代表1月)
let today = dateEnd.getDate(); //获取当前日(1-31)
let nowTime = '';
nowTime = year + '-' + fillZero(month) + '-' + fillZero(today)
return nowTime;
};
获取指定月的第一天:根据day的值来获取之前月的第一天,day表示天数,如果day的值为-30,返回的值为上个月第一天,为-60返回上上月第一天,以此类推
// 获取指定月第一天
Vue.prototype.getNowMonthStart = function(day) {
let now = new Date();
let targetday_milliseconds = now.getTime() + 1000 * 60 * 60 * 24 * day;
now.setTime(targetday_milliseconds); // 获取当前日期day之前的日期
let dateStart = '';
dateStart = now.setDate(1); // 获取指定日期当月的第一天
return this.dateToYYYYMMDD(dateStart);
};
获取指定月的最后一天:根据day的值来获取之前月的最后一天,day表示天数,如果day的值为-30,返回的值为上个月最后一天,为-60返回上上月最后一天,以此类推
// 获取指定月最后一天
Vue.prototype.getNowMonthEnd = function(day) {
let now = new Date();
let targetday_milliseconds = now.getTime() + 1000 * 60 * 60 * 24 * day;
now.setTime(targetday_milliseconds); // 获取当前日期day之前的日期
let dateEnd = '';
dateEnd = new Date(now.getFullYear(), now.getMonth() + 1, 0); // 获取指定日期当月的第一天
return this.dateToYYYYMMDD(dateEnd);
};
ps:格式处理函数
// 返回 yyyy-MM-dd 格式字符串
Vue.prototype.dateToYYYYMMDD = function(date) {
var time = new Date(date);
var y = time.getFullYear();
var m = (time.getMonth() + 1);
m = m > 9 ? m : '0' + m;
var d = time.getDate();
d = d > 9 ? d : '0' + d;
return y + "-" + m + "-" + d;
}