今天有个需求说一进入页面要查询最近三天的数据。当然我们很容易能够获取当天的日期,但是三天前的日期就有点麻烦了,比如月初的第一天,或者年初的第一天。如果自己去算的话要花费不少功夫,要考虑月份、年份、甚至2月的话还有闰年,于是查阅资料,发现js有现成的日期加减计算。
JS的Date对象有四种创建方式:
JS的Date对象有四种创建方式:
var d = new Date(); //直接获得当前日期 var d = new Date(milliseconds); //传入日期的毫秒数 var d = new Date(dateString); // 传入时间字符串,经过我的验证,格式为:"2018-03-15" var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);//分别按年、月、日等逗号隔开传入 当然有了以上,我的需求也很好解决了,如下:
function AddDate(date,addDays){ //date传入你需要的日期,格式"xxxx-xx-xx"。addDays传要加减的日期数,往前传正数,往后传负数 var Dates = new Date(date); Dates.setDate(Dates.getDate() + addDays); var mon = Dates.getMonth() + 1, day = Dates.getDate(); if(mon < 10){ mon = "0" + mon;//月份小于10,在前面补充0 } if(day < 10){ day = "0" + day;//日小于10,在前面补充0 } return Dates.getFullYear() + "-" + mon + "-" +day; } 调用方法:AddDate("2018-03-01",-2); 输出:"2018-02-27"