我想用js把2007-8-1这种格式的字符串加上一年,变成2008-8-1,不知道怎么写,各位帮看看了,等着用了
我搜索过,有种
function addDate(type,NumDay,dtDate)
{
var date = new date(dtDate)
type = parseInt(type) //类型
lIntval = parseInt(NumDay)//间隔
switch(type)
{
case 6 ://年
date.setYear(date.getYear() + lIntval)
break;
case 7 ://季度
date.setMonth(date.getMonth() + (lIntval * 3) )
break;
case 5 ://月
date.setMonth(date.getMonth() + lIntval)
break;
case 4 ://天
date.setDate(date.getDate() + lIntval)
break
case 3 ://时
date.setHours(date.getHours() + lIntval)
break
case 2 ://分
date.setMinutes(date.getMinutes() + lIntval)
break
case 1 ://秒
date.setSeconds(date.getSeconds() + lIntval)
break;
default:
}
return date.getYear() + '- ' + (date.getMonth()+1) + '- ' +date.getDate()
}
不过我在调用的时候,var date = new date(dtDate)出错,date变成了NaN,应该是格式不对
大家看看有什么方法没了
------解决方案--------------------------------------------------------
<script language = "javascript ">
var d = addDate(6,1, '8-1-2007 ');
alert(d.toString(10));
function addDate(type,NumDay,dtDate)
{
var date = new Date(dtDate);
type = parseInt(type) //类型
lIntval = parseInt(NumDay)//间隔
switch(type)
{
case 6 ://年
date.setYear(date.getYear() + lIntval)
break;
case 7 ://季度
date.setMonth(date.getMonth() + (lIntval * 3) )
break;
case 5 ://月
date.setMonth(date.getMonth() + lIntval)
break;
case 4 ://天
date.setDate(date.getDate() + lIntval)
break
case 3 ://时
date.setHours(date.getHours() + lIntval)
break
case 2 ://分
date.setMinutes(date.getMinutes() + lIntval)
break
case 1 ://秒
date.setSeconds(date.getSeconds() + lIntval)
break;
default:
}
return date.getYear() + '- ' + (date.getMonth()+1) + '- ' +date.getDate()
}
</script>
将var date = new date(dtDate)改为var date = new Date(dtDate);