获取本日,本周,本月的日期范围的工具类

ts文件

export class UtilDate {
    getCurrentDate() {
        let date = new Date();
        let year = date.getFullYear(); //获取年
        let month = date.getMonth() + 1; //获取月
        let day = date.getDate(); //获取日
        let weekDay = date.getDay(); // 星期
        let timesStamp = date.getTime(); //getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。
        return {
            year,
            month,
            day,
            weekDay,
            //没用到
            timesStamp
        }
    }
    /**
     * 
     * @param date 传入DayAndWeek(string)和getMonth(object) 
     * @param separator 可以自定义所匹配的格式 eg:// YYYY-MM-DD 2019-01-10
     */
    myformatStr(date, separator?) {
        let year;
        let month;
        let day;
        if (typeof date == 'string') {
            year = date.split('/')[0];
            month = date.split('/')[1];
            day = date.split('/')[2];
        } else if (typeof date == 'object') {
            year = date.year;
            month = date.month;
            day = date.day;
        }
        let mStr = month < 10 ? '0' + month : month + '';
        let dStr = day < 10 ? '0' + day : day + '';
        if (separator) {
            return year + separator + mStr + separator + dStr;
        }
        return year + '-' + mStr + '-' + dStr;
    }
    getDayAndWeek(type) {
        let date = new Date();
        let pre = 0;
        let next = 0;
        let startTime = '';
        let endTime = '';
        let begin;
        let over;
        switch (type) {
            case 'day':
                next++;
                break;
            case 'week':
                pre = 1 - date.getDay();
                next = 7 - date.getDay();
                break;
            default:
        }
        startTime = new Date(date.getTime() + 24 * 60 * 60 * 1000 * pre).toLocaleDateString();
        endTime = new Date(date.getTime() + 24 * 60 * 60 * 1000 * next).toLocaleDateString();
        begin = this.myformatStr(startTime);
        over = this.myformatStr(endTime);
        return { begin, over };
    }
    /**
     * 获取本月日期范围
     */
    getMonth() {
        let date = this.getCurrentDate();
        let monthStart = {};
        let monthEnd = {};
        let begin;
        let over;
        if (date.month == 12) {
            monthEnd = { year: date.year + 1, month: date.month + 1, day: 1 };
        } else {
            monthEnd = { year: date.year, month: date.month + 1, day: 1 };
        }
        monthStart = { year: date.year, month: date.month, day: 1 };
        begin = this.myformatStr(monthStart)
        over = this.myformatStr(monthEnd)
        return { begin, over }
    }
}```
*还可以添加其他日期范围*

猜你喜欢

转载自blog.csdn.net/qq_40896410/article/details/86302795