获取指定周、月的第一天和最后一天

  1. 获取指定周的第一天:根据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;
};
  1. 获取指定周的最后一天:根据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;
};
  1. 获取指定月的第一天:根据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);
};
  1. 获取指定月的最后一天:根据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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值