JavaScript 现有日期上加上天数月数年数周数的运算

王朝学院·作者佚名  2009-05-07
窄屏简体版  字體: 小  |  中  |  大  |  超大  

<form name="form">

<TABLE>

<TR>

<TD>现在的日期:</TD>

<TD><input type="text" name="u" value="2009-01-01"></TD>

</TR>

<TR>

<TD>要加的天数:</TD>

<TD><INPUT TYPE="text" name="entry" id="d" VALUE="" onkeyup="calculate('d')"></TD>

</TR>

<TR>

<TD>要加的周数:</TD>

<TD><INPUT TYPE="text" name="entry" id="w" VALUE="" onkeyup="calculate('w')"></TD>

</TR>

<TR>

<TD>要加的月数:</TD>

<TD><INPUT TYPE="text" name="entry" id="m" VALUE="" onkeyup="calculate('m')"></TD>

</TR>

<TR>

<TD>要加的年数:</TD>

<TD><INPUT TYPE="text" name="entry" id="y" VALUE="" onkeyup="calculate('y')"></TD>

</TR>

<TR>

<TD>结果:</TD>

<TD><input name="twice"></TD>

</TR>

<!--<TR>

<TD>要加的日期2:</TD>

<TD><input type="text" name="u" value="2009/01/01"></TD>

</TR>

<TR>

<TD>结果2:</TD>

<TD><input name="twice"></TD>

</TR>-->

</TABLE>

</form>

<script language="JavaScript">

function DateAdd(strInterval, NumDay, dtDate) {

var dtTmp = new Date(dtDate);

if (isNaN(dtTmp)) dtTmp = new Date();

switch (strInterval) {

case "s":

dtTmp = new Date(Date.parse(dtTmp) + (1000 * parseInt(NumDay)));

break;

case "n":

dtTmp = new Date(Date.parse(dtTmp) + (60000 * parseInt(NumDay)));

break;

case "h":

dtTmp = new Date(Date.parse(dtTmp) + (3600000 * parseInt(NumDay)));

break;

case "d":

dtTmp = new Date(Date.parse(dtTmp) + (86400000 * parseInt(NumDay)));

break;

case "w":

dtTmp = new Date(Date.parse(dtTmp) + ((86400000 * 7) * parseInt(NumDay)));

break;

case "m":

dtTmp = new Date(dtTmp.getFullYear(), (dtTmp.getMonth())+parseInt(NumDay), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());

break;

case "y":

//alert(dtTmp.getFullYear());

dtTmp = new Date(dtTmp.getFullYear()+parseInt(NumDay), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());

//alert(dtTmp);

break;

}

var mStr=new String(dtTmp.getMonth()+1);

var dStr=new String(dtTmp.getDate());

if (mStr.length==1){

mStr="0"+mStr;

}

if (dStr.length==1){

dStr="0"+dStr;

}

return dtTmp.getFullYear()+"-"+mStr+"-"+dStr;

}

</script>

<script language="JavaScript">

function calculate(type)

{

var entry = document.getElementById(type).value;//自己判断是否合法

var uValue=document.form.u.value;

uValue=uValue.replace("-","/").replace("-","/");

//alert(uValue);

document.form.twice.value = DateAdd(type,entry,uValue);

}

</script>

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航