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

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'); }}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值