JS日期 比如2017年一月一号 前三个月 我只要月份,但是年份不能变年份还得是2016的
哪位大神能给出代码!急急急!!!!!!!!!!!
function getPreMonth(date) {
var arr = date.split('-');
var year = arr[0]; //获取当前日期的年份
var month = arr[1]; //获取当前日期的月份
var day = arr[2]; //获取当前日期的日
var days = new Date(year, month, 0);
days = days.getDate(); //获取当前日期中月的天数
var year2 = year;
var month2 = parseInt(month) - 1;
if (month2 == 0) {//如果是1月份,则取上一年的12月份
year2 = parseInt(year2) - 1;
month2 = 12;
}
var month3 = month2-1;
var month4 = month2-2
}
}
var result = year2+','+month2 + ',' + month3 + ',' +month4 ;
return result;
}
alert(getPreMonth("2017-01-01"));
getPrevMonth("2017-01-01");
function getPrevMonth(data)
{
var initDate = new Date(data);
var result = "";
result += addDate(initDate, -1) + ",";
result += addDate(initDate, -2) + ",";
result += addDate(initDate, -3) + ",";
alert(result);
return result;
}
function addDate(date, days) {
var d = new Date(date);
d.setMonth(d.getMonth() + days);
var month = d.getMonth() + 1;
var day = d.getDate();
if (month < 10) {
month = "0" + month;
}
if (day < 10) {
day = "0" + day;
}
var val = d.getFullYear() + "年" + month+"月" ;
return val;
}
这个年份如果传的是2017年2月的话,会出现年份2017和2016
alert(getPrevMonth("2017-01-01"));
function getPrevMonth(data)
{
var initDate = new Date(data);
var result = "";
result += addMonth(initDate, -1) + ",";
result += addMonth(initDate, -2) + ",";
result += addMonth(initDate, -3);
return result;
}
function addMonth(date, months) {
var d = new Date(date);
d.setMonth(d.getMonth() + months);
var month = d.getMonth() + 1;// getMonth 返回的月份要比实际月份少一个月 ,从0开始的,所以要加一
var day = d.getDate();
if (month < 10) {
month = "0" + month;
}
if (day < 10) {
day = "0" + day;
}
var val = d.getFullYear() + "年" + month+"月" ;
return val;
}
//做了下补充,方便楼主学习
function getDate(date) {
var currentDate = new Date(date);//date传日期值格式要正确
var newDate: string="";
var month = currentDate.getMonth+1;
if(month<3){
month=month+12-3;
}else{
month = month-3;
}
newDate = new Date(currentDate.getFullYear(),month,currentDate.getDay());
return newDate;//返回的是UTC时间格式
}