WEB开发网
开发学院网页设计JavaScript JavaScript 现有日期上加上天数月数年数周数的运算... 阅读

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

 2009-05-06 20:11:52 来源:WEB开发网   
核心提示:<form name="form"><TABLE><TR> <TD>现在的日期:</TD> <TD><input type="text" name="u" value="

<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>

Tags:JavaScript 现有 日期

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接