zoukankan      html  css  js  c++  java
  • javascript计算两个时间差

      其实,javascript计算时间差的方式非常简单,如果是默认的Date()类型,直接相减就是相差的毫秒数。

    var d1 = new Date('2016/03/28 10:17:22');
    var d2 = new Date('2016/03/28 11:17:22');
    console.log(parseInt(d2 - d1));//两个时间相差的毫秒数
    console.log(parseInt(d2 - d1) / 1000);//两个时间相差的秒数
    console.log(parseInt(d2 - d1) / 1000 / 60);//两个时间相差的分钟数
    console.log(parseInt(d2 - d1) / 1000 / 60);//两个时间相差的小时数

      输出如下:

    1.png

      如果,拿到的不是日期类型,而是"2016-03-28 10:27:00"这种的字符串格式呢,那么就需要先将字符串转换为日期类型。

    var t1 = "2016-03-28 10:27:00";
    var d1 = t1.replace(/-/g, "/");
    var date1 = new Date(d1);

      以上得到的date1就是一个日期类型了。就可以计算了,只要再简单封装一下,就能够组合出任意的事件类型转换函数。

      如:输入字符串得到相差秒数:

    <!doctype html>
    <html>
    <head>
        <title>jQuery判断元素是隐藏的还是可见的</title>
    </head>
    <body>
    <script>
    function GetDateDiff(startTime, endTime, diffType) {
        //将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式 
        startTime = startTime.replace(/-/g, "/");
        endTime = endTime.replace(/-/g, "/");
        //将计算间隔类性字符转换为小写
        diffType = diffType.toLowerCase();
        var sTime =new Date(startTime); //开始时间
        var eTime =new Date(endTime); //结束时间
        //作为除数的数字
        var timeType =1;
        switch (diffType) {
            case"second":
                timeType =1000;
            break;
            case"minute":
                timeType =1000*60;
            break;
            case"hour":
                timeType =1000*3600;
            break;
            case"day":
                timeType =1000*3600*24;
            break;
            default:
            break;
        }
        return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(timeType));
    }
    alert(GetDateDiff("2016-03-28 10:30:22","2016-03-28 10:38:22","minute"));
    </script>
    </body>
    </html>
  • 相关阅读:
    1029 旧键盘 (20 分)
    1028 人口普查 (20 分)
    1026 程序运行时间 (15 分
    1025 反转链表 (25 分
    1024 科学计数法 (20 分
    1023 组个最小数 (20 分)
    将命令的输出保存到文件
    使用与管理控制台历史
    度量命令执行时间
    检查最后运行命令的状态
  • 原文地址:https://www.cnblogs.com/kissdodog/p/5419913.html
Copyright © 2011-2022 走看看