首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

关于时间差的计算

请问有以下两个时间
2002-12-31 23:59:58
2003-01-01 00:05:34
用怎样的方法计算他们之间的分钟数吗?相差的秒不为零算1分
昵称: av_dingluo  时间: 2003-07-05 15:02:00
直接相减就可以吧?
得到的是小数点后面忘了多少位的秒数??
我也不记得了
昵称: zeying  时间: 2003-07-05 15:06:00
//时间+字符串函数
//三个参数:interval:决定往哪加:h:加在小时上,m:加在分钟上,S:加在秒钟上。
//number:决定加多少;time:时间字符串。
function timeAdd(interval,number,time){
        //alert(time);
        var flag=isTime(time);//判断time是否是时间字符串

        if (flag){
                var tArray=time.match(regTime);
                var h=tArray[1];
                var m=tArray[2];
                var s=tArray[3];

                switch (interval){
                        case "h":
                                var h=eval(number+"+"+h);
                                var hCarry=Math.floor(h/24);//floor:返回小于等于其数字参数的最大整数
                                h=FillNumber(eval(h+"-"+24+"*"+hCarry));
                                h=h+":"+m+":"+s;
                                return h;
                                break;
                        case "m":
                                var m=eval(m+"+"+number);
                                var mCarry=Math.floor(m/60);
                                m=FillNumber(eval(m+"-"+60+"*"+mCarry))
                               
                                h=eval(h+"+"+mCarry);                                                        //加上从分钟上的进位。
                                var hCarry=Math.floor(h/24);
                                h=FillNumber(eval(h+"-"+24+"*"+hCarry));

                                m=h+":"+m+":"+s;
                                return m;
                                break;
                        case "s":
                                var s=eval(s+"+"+number);
                                var sCarry=Math.floor(s/60);
                                s=FillNumber(eval(s+"-"+60+"*"+sCarry));                //得到秒数

                                m=eval(m+"+"+sCarry);                                                        //加上秒钟进位
                                var mCarry=Math.floor(m/60);
                                m=FillNumber(eval(m+"-"+60+"*"+mCarry));                //得到分钟数
       
                                h=eval(h+"+"+mCarry);                                                        //加上从分钟上的进位。
                                var hCarry=Math.floor(h/24);
                                h=FillNumber(eval(h+"-"+24+"*"+hCarry));                //得到小时数
                               
                                s=h+":"+m+":"+s;                                                                //得到最后结果
                                return s;
                                break;
                        default:
                                alert("参数错误,请认真检查");
                }
        }
        else{
                alert("时间字符串错误");
        }
}

只是一个思想。你要的部分自己写吧!
昵称: Double_ycn  时间: 2003-07-05 15:17:00
不行啦,各位帮帮忙吧。很急的呢
昵称: av_dingluo  时间: 2003-07-05 15:17:00
明白收到谢谢
昵称: av_dingluo  时间: 2003-07-05 15:20:00
抱歉这样不好弄哦,再帮看看吧
昵称: av_dingluo  时间: 2003-07-05 15:57:00
转换过了再计算。---麻烦
存的时候直接存为int型(用time())
昵称: sky_travel  时间: 2003-07-05 16:00:00
转换成时间戳相减
昵称: wxffwxff  时间: 2003-07-05 16:02:00
谢谢
昵称: av_dingluo  时间: 2003-07-05 17:14:00