获取给定日期的周末等日期

var Utils = 
{
    /**
     * 传入毫秒,格式化时间
     * @param second 毫秒数
     * @param fmt 格式,常见:'yyyy-MM-dd hh:mm:ss.S''yyyy-M-d h:m:s.S'
     * @returns {*}
     */
    formateDate(second, fmt) {
        if (!second) {
            return '';
        }
        let date = new Date(second), // 后台时间转javascript时间戳
            o = {
                'M+': date.getMonth() + 1, // 月份
                'd+': date.getDate(), //                 'h+': date.getHours()%12 === 0 ? 12 : date.getHours()%12, // 小时
                'H+': date.getHours(), // 小时
                'm+': date.getMinutes(), //                 's+': date.getSeconds(), //                 'q+': Math.floor((date.getMonth() + 3) / 3), // 季度
                S: date.getMilliseconds() // 毫秒
            };

        if (/(y+)/.test(fmt)) {
            fmt = fmt.replace(RegExp.$1, (date.getFullYear().toString()).substr(4 - RegExp.$1.length));
        }

        for (let k in o) {
            if (new RegExp('(' + k + ')').test(fmt)) {
                fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr((o[k].toString()).length)));
            }
        }
        return fmt;

    },
    getMonday(_date) {
        const _today = new Date(_date); // '2018-01-1'
        let year = _today.getFullYear(); //当前年份
        let month = _today.getMonth();
        let day = _today.getDate(); //当前日期
        let date = _today.getDay() == 0 ? 7 : _today.getDay(); //本周第几天 因系统会把周日作为第0
        const _monday = new Date(year, month, day - date + 1);
        return _monday;
    },
    getPreviousSaturday(date) {
        const Monday = this.getMonday(date);
        let _Saturday = new Date(Monday.getFullYear(), Monday.getMonth(), Monday.getDate()-2);
        return this.formateDate(_Saturday.getTime(), 'yyyy-MM-dd');
    },
    getPreviousSunday(date) {
        const Monday = this.getMonday(date);
        let _Sunday = new Date(Monday.getFullYear(), Monday.getMonth(), Monday.getDate()-1);
        return this.formateDate(_Sunday.getTime(), 'yyyy-MM-dd');
    },
    getNextMonday(date){
        const Monday = this.getMonday(date);
var _monday = new Date(Monday. getFullYear(),Monday. getMonth(),Monday. getDate()+ 7); return this. formateDate( _monday. getTime(), 'yyyy-MM-dd'); }, getNextSunday(date){
        const Monday = this.getMonday(date);
var _Sunday = new Date(Monday. getFullYear(),Monday. getMonth(),Monday. getDate()+ 13); return this. formateDate( _Sunday. getTime(), 'yyyy-MM-dd'); }}

猜你喜欢

转载自blog.csdn.net/u011649976/article/details/79946552