一.假设有一个日期为(2022-11-04)这个日期为实时当前日期,我需要这个获取实时日期得前一天日期;

var dateTime=new Date("2022-11-04");
dateTime=dateTime.setDate(dateTime.getDate()-1);  
console.log(
dateTime) //结果为 毫秒
现在就需要把毫秒转换一下;
1.toLocaleDateString() 方法可根据本地时间把 Date 对象的日期部分转换为字符串,这个方法可以直接返回斜杠格式(容易有坑,小心点踩);如:2022/11/03
但是呢,需求又是不能使用斜杠,需要用中划线分开;只能在写代码喽;
            var date = new Date(dateTime);
            // 转为中划线得同时判断,开始时间小于10月份前边+零,大于等于10月份取消前边+0;
            var taskStartTime;
            if (date.getMonth() < 9) {
                taskStartTime = date.getFullYear() + "-0" + (date.getMonth() + 1) + "-"
            } else {
                taskStartTime = date.getFullYear() + "-" + (date.getMonth() + 1) + "-"
            }
            if (date.getDate() < 10) {
                taskStartTime += "0" + date.getDate()
            } else {
                taskStartTime += date.getDate()
            }
            taskStartTime;

二、加一天

    与上面相似,把setDate方法中的-1变更为+1

 

 

 

 

 

2023-11-01 13:45:53

上述方法出现得问题是:本来是比最大日期大一天,或者是小一天。如果是最大时间为当月得最后一天,在使用这个方法,月份没有随着切换;这个方法更简单,方便;

var endDateObj = new Date(最大日期);//格式需要是例如: "2023-11-01"

this.StartModel = new Date(endDateObj.getTime() - 86400000 * 1);//86400000 一天得毫秒 *1,就是当前日期减一天,如果是需要自定义几天,修改就可

Posted on 2022-11-04 16:09  瘾心戒  阅读(4004)  评论(0)    收藏  举报