vue获取任意天数之前或之后的日期

需求:获取任意天数之前或之后的日期

前后端对接,经常会遇到这样的业务:点击日期选择开始日期与结束
image.png
传入日期如以下形式:
image.png

【问题:】如何获得今天之前一周,或前一个月的日期呢?


一、在方法中写入以下代码:

methods: {
            // 获取当前时间,day为number,getDay(-1):昨天的日期;getDay(0):今天的日期;getDay(1):明天的日期;【以此类推】
            getDay(day) {  
                var today = new Date();  
                var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day;  
                today.setTime(targetday_milliseconds); //注意,这行是关键代码
                  
                var tYear = today.getFullYear();  
                var tMonth = today.getMonth();  
                var tDate = today.getDate();  
                tMonth = this.doHandleMonth(tMonth + 1);  
                tDate = this.doHandleMonth(tDate);  
                return tYear + "-" + tMonth + "-" + tDate;
            },
            doHandleMonth(month) {  
                var m = month;  
                if (month.toString().length == 1) {  
                    m = "0" + month;  
                }  
                return m;
            },
        },

二、测试:

created() {
            console.log("昨天:", this.getDay(-1))
            console.log("今天:", this.getDay(0))
            console.log("明天:", this.getDay(1))
            console.log("1000年以后:", this.getDay(1000 * 365))
        },

效果:

image.png

不得不说,就是他妈的这么简单管用。

你可能感兴趣的:(vue获取任意天数之前或之后的日期)