读书人

js怎么获取几个月后的日期

发布时间: 2013-01-07 10:02:24 作者: rapoo

js如何获取几个月后的日期
<div class="user_pop" id="user_pop" style="width:510px;">
<p class="til"><a href="javascript:;" class="close"></a> <span id="title"></span> </p>
<div class="main padd2 f14" >
<div class="border">
<p> 兑换: <select id="month" name="month">
<option value="1">一个月</option>
<option value="3">三个月</option>
<option value="6">半年</option>
<option value="12">一年</option>
</select>
</p>
<p> 扣除:<span class="txt_orange" id="credit">200</span> 积分</p>
<p class="bors">有效期:<span class="txt_orange" id="start_time">2012-12-13</span> 至 <span class="txt_orange" id="expiretime">2013-1-13</span></p>
</div>
<input type="button" class="save" value="确 定" />
</div>
</div>

<script src="js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(e) {
$('#month').change(function(){
var m = $(this).val();
var credit = 200;
$("#credit").html(credit * m);
var start_time = $('#start_time').html();
var expiretime = addmulMonth(start_time, m);
$("#expiretime").html(expiretime);
});
});

// n个月后
function addmulMonth(dtstr, n)
{
var s = dtstr.split("-");
var yy = parseInt(s[0]);
var mm = parseInt(s[1]) - 1;
var dd = parseInt(s[2]);
var dt = new Date(yy, mm, dd);
dt.setMonth(dt.getMonth() + n);
if ((dt.getYear() * 12 + dt.getMonth()) > (yy * 12 + mm + n)) {
dt = new Date(dt.getYear(), dt.getMonth(), 0);
}
return dt.getFullYear() + "-" + dt.getMonth() + "-" + dt.getDay();


}
</script>

我这么获取不对,请大家帮忙看看哪里错了
[解决办法]
new Date(现在的时间.getTime()+个月的时间的毫秒数)试试
不很明白你的意思
[解决办法]


<!DOCTYPE HTML>
<html>
<head>
<meta charset="gb2312" />
<title></title>
<style>
input { width:200px; }
</style>
</head>
<body>
<select id="time">
<option value="0">请选择</option>
<option value="1">一周前</option>
<option value="2">一个月前</option>
<option value="3">三个月前</option>
<option value="4">半年前</option>
<option value="5">一年前</option>
<option value="6">一年后</option>
</select>
<input type="text" id="stime" value="选择的时间"/>
<input type="text" id="etime" value="当前时间"/>
<script>
function $(el){
return typeof el == 'string' ? document.getElementById(el) : el;
}
var s = $('stime');
var e = $('etime');
$('time').onchange = function(){
var d = new Date();
e.value = d.toLocaleString().replace(/年
[解决办法]
月/g, '-').replace('日', '');
switch( +this.value ){
case 1:
s.value = setTime(d, {type:'d', value: -7});
break;
case 2:
s.value = setTime(d, {type:'M', value: -1});
break;
case 3:
s.value = setTime(d, {type:'M', value: -3});
break;
case 4:
s.value = setTime(d, {type:'M', value: -6});
break;
case 5:
s.value = setTime(d, {type:'y', value: -1});
break;
case 6:
s.value = setTime(d, {type:'y', value: 1});
break;
}
}

function setTime(d, opts){
if(!d) return;
var t = opts.type
[解决办法]
'd',
v = opts.value
[解决办法]
1;
switch( t ){
case 'y':
d.setFullYear( d.getFullYear() + v );
break;
case 'M':
d.setMonth( d.getMonth() + v );
break;
case 'd':
d.setDate( d.getDate() + v );
break;
case 'h':
d.setHours( d.getHours() + v );
break;
case 'm':
d.setMinutes( d.getMinutes() + v );
break;
case 's':
d.setSeconds( d.getSeconds() + v );
break;
}
return d.toLocaleString().replace(/年
[解决办法]
月/g, '-').replace('日', '');
}

</script>
</body>
</html>


读书人网 >JavaScript

热点推荐