首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

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

2013-01-07 
js如何获取几个月后的日期div classuser_pop iduser_pop stylewidth:510pxp classtila

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>


热点排行