我只知道VBS的是 DateAdd(interval, number, date)
js的不知道

解决方案 »

  1.   

    是地,我要在网页中实现这个功能DateAdd(interval, number, date),在java中我实现了,但在js中可能水平不好吧,没有找到合适地函数,虚心求教,分不够,加到100
      

  2.   

    自己写一个。。
    <script>
    var a="08:59:33";
    alert(JsDateAdd(a,26));
    alert(JsDateAdd(a,27));
    alert(JsDateAdd(a,28));
    alert(JsDateAdd(a,29));function JsDateAdd(dtime,addtime)//在当前时间上加多少秒
    {
    var str,strh,strm,strs;
    str = a.split(":");   
    strh  = str[0];
    strm = str[1];
    strs  = str[2];
    if(parseInts(strs)>(60-addtime))  
    {   strs = (parseInts(strs)+addtime-60);
       if(parseInts(strm)==59)
       {
         strm="00";
         if(parseInts(strh)==24)
         {
           strh="00";
         }
         else
         {
         
           strh = parseInts(strh)+1;
         }
       }
       else
       {
         strm=parseInts(strm)+1
       }

    else if (parseInts(strs)<(60-addtime))
    {
      strs = parseInts(strs)+addtime; 
    }
    else if (parseInts(strs)==(60-addtime))
    {
       strs = "00";
       if(parseInts(strm)==59)
       {
         strm="00";
         if(parseInts(strh)==24)
         {
           strh="00";
         }
         else
         {
           strh = parseInts(strh)+1;
         }
       }
       else
       {
         strm=parseInts(strm)+1
       }
    }
    var array1,returnStr;
    if(strh.toString().length<2) strh="0"+strh;
    if(strm.toString().length<2) strm="0"+strm;
    if(strs.toString().length<2) strs="0"+strs;
    array1 = new Array(strh,strm,strs);
    returnStr = array1.join(":");
    return returnStr;
    }function parseInts(vars)//将parseInts加入自定义函数。因为parseInt("08")会得出1.
    {
       if(vars.indexOf("0")=="0")
      {
         return parseInt(vars.substr(1,1));
      }
      else
      {
        return parseInt(vars);  
      }
    }</script>
      

  3.   

    <script>var d1=new Date("2005/07/25 08:22:33");
    alert(d1);
    d1.setSeconds(d1.getSeconds()+55);
    alert(d1);
    </script>
      

  4.   

    唉,看来还是我们学艺不精。向 JK_10000(JK) 学习。
      

  5.   

    哎哎,你们也真是的,不知长进还是太懒了,这点小事还来问,自己要不就去搞笨办法。JS可以直接调用VBS中 自定义 的方法,比如以下,楼上有人说VBS有DateAdd方法,那就简单包装下,到JS上来调用就是啊。。<Script language="VBScript">
    function show(str,flag,title)
    msgbox str,flag,title
    end function</Script><Script language="JScript">
    show("Are You Sure ?",4,"Title");
    </Script>
      

  6.   

    ...昨天刚看到JS和VBS的方法互用,结果今天又看到了,晕!!
      

  7.   

    sorrymod取余,即可得到你所要的结果。js时间函数不熟悉。
      

  8.   

    jlh2(兰色忧郁)
    -------------------JS跟VBS方法互用有什么不好的吗?优势互补哇
      

  9.   

    好象俺有点文不对题JS里的Date对象的构造方法就可以帮你完成这个事情new Date(year,month,day,hours,minutes,seconds,milseconds);所有的参数都是可选的
    但是,就算你的参数是不对的日期时间值都没关系,JS会给你转换过来..比如
    var today=new Date();
    new Date(today.getFullYear(),today.getMonth(),today.getDate(),8,22,65);这样就行,JS会帮你转换成正确的时间....
      

  10.   

    这个使用了Date对象的自动转换功能
    <input type="text" value="" id="ttt">
    <script>
      var dtstr="08:22:33";
      var arr=dtstr.split(":");
      var thisday=new Date();  
      var dt=new Date(thisday.getFullYear(),
                      thisday.getMonth(),thisday.getDate(),
                      arr[2],arr[1],arr[0]
                     );
      function add5(dtime){
         return new Date(dtime.getTime()+5000);
      }
      function f(){
        dt=add5(dt);ttt.value=dt.getHours()+":"+dt.getMinutes()+":"+dt.getSeconds();
      }
      setInterval('f();',200);
    </script>
      

  11.   

    这样也可以
    <input type="text" value="" id="ttt">
    <script>
      var hour=8;var min=22;var sec=33;
      function f(){
        sec+=5;var dt=new Date(2005,8,29,hour,min,sec);
        ttt.value=dt.getHours()+":"+dt.getMinutes()+":"+dt.getSeconds();
      }
      setInterval('f();',200);
    </script>
      

  12.   

    自己计算时间来处理,也不算复杂
    <input type="text" value="" id="ttt">
    <script>
      var hms=new Array(8,22,33);
      function add5(hms){
         hms[2]+=5;
         hms[1]+=Math.floor(hms[2]/60);
         hms[2]=hms[2] % 60;
         hms[0]+=Math.floor(hms[1]/60);
         hms[1]=hms[1] % 60;
         hms[0]=hms[0] % 24;
         return new Array(hms[0],hms[1],hms[2]);
      }
      function f(){
        hms=add5(hms);ttt.value=hms.join(":");
      }
      setInterval('f();',200);
    </script>
      

  13.   

    木需要大花猫那么**的来的,Date对象的构造方法就能摆平,还要弄什么玄虚...
      

  14.   

    dt=new Date(dt.valueOf()+5*1000) //当前时间上面加5000毫秒