飞翔的小野鸭
2016-07-11 02:32
采纳率: 34.9%
浏览 2.9k
已采纳

有两个字符串型的日期时间,怎么取得差值

例如 开始时间"2016-07-10 13:13:13" 结束时间"2016-07-11 12:16:44"
我不想转化成秒之后初多少除多少. 这样后面得出来的时间(前面日期无所谓)会有小数
能不能直接用字符串的形式去判断相差多久?
最后 return day+"天"+hour+"小时"+min+"分"+sec+"秒"

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • mnixu 2016-07-11 03:00
    已采纳
     function DateDiff(beginTime,endTime){
        var diff=new Date(endTime).getTime()-new Date(beginTime).getTime();
        var days=Math.floor(diff/(24*3600*1000));
        var diff1=diff%(24*3600*1000);
        var hours=Math.floor(diff1/(3600*1000));
        var diff2=diff1%(3600*1000);
        var minutes=Math.floor(diff2/(60*1000));
        var diff3=diff2%((60*1000));    
        var seconds=Math.round(diff3/1000);
        alert(" 相差 "+days+"天 "+hours+"小时 "+minutes+" 分钟"+seconds+" 秒");
    }
    
    已采纳该答案
    打赏 评论
  • wzgiceman 2016-07-11 02:36

    先把字符给分开,然后各个级别的位数相互减,最后拼接成一个字符串返回

    打赏 评论

相关推荐 更多相似问题