js对日期年月日的相加减

<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="" οnkeyup="calculate('d')"></TD>
</TR>
<TR>
    <TD>要加的周数:</TD>
    <TD><INPUT TYPE="text" name="entry" id="w" VALUE="" οnkeyup="calculate('w')"></TD>
</TR>
<TR>
    <TD>要加的月数:</TD>
    <TD><INPUT TYPE="text" name="entry" id="m" VALUE="" οnkeyup="calculate('m')"></TD>
</TR>
<TR>
    <TD>要加的年数:</TD>
    <TD><INPUT TYPE="text" name="entry" id="y" VALUE="" οnkeyup="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>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值