js计算两个时间差

时间格式

time:'2018-04-26 15:49:00'需要转换为time:'2018/04/26 15:49:00'

  • 使用time.replace(/\-/g, "/")

第一种封装为函数


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 divNum = 1;
    switch (diffType) {
        case "second":
            divNum = 1000;
            break;
        case "minute":
            divNum = 1000 * 60;
            break;
        case "hour":
            divNum = 1000 * 3600;
            break;
        case "day":
            divNum = 1000 * 3600 * 24;
            break;
        default:
            break;
    }
    return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(divNum));
}

var testDate = new Date();
var testStr = testDate.format("yyyy-MM-dd hh:mm:ss");

var result = GetDateDiff("2010-02-26 16:00:00", testStr, "day");
document.write("两者时间差为:" + result + "天了。");

第二种

var date1=new Date('2016/1/1 0:0:0');    //开始时间
var date2=new Date();    //结束时间
var date3=date1.getTime()-date2.getTime(); //时间差秒
//计算出相差天数
var days=Math.floor(date3/(24*3600*1000));

//计算出小时数
var leave1=date3%(24*3600*1000)  ;  //计算天数后剩余的毫秒数
var hours=Math.floor(leave1/(3600*1000));

//计算相差分钟数
var leave2=leave1%(3600*1000);        //计算小时数后剩余的毫秒数
var minutes=Math.floor(leave2/(60*1000));

//计算相差秒数
var leave3=leave2%(60*1000) ;     //计算分钟数后剩余的毫秒数
var seconds=Math.round(leave3/1000);
alert("时间差" + days + "天" + hours + "时" + minutes + "分" + seconds + "秒");

posted @   阿臻  阅读(1712)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示