输入两个时间,计算他们相差多少天多少时,多少秒

给定两个时间. 计算他们两个差多了多少, 输入的时间格式类似 '2018-11-30 11:39:10', 输出得到的结果是 '44天 0小时 0 分钟0 秒'

查看效果

// date2 大于 date1
function DateTime(date1, date2) {
  // var date1= '2018-11-30 11:39:10';  //开始时间
  // var date2 = new Date();    //结束时间
  const date3 = new Date(date2).getTime() - new Date(date1).getTime() //时间差的毫秒数
  //计算出相差天数
  const days = Math.floor(date3 / (24 * 3600 * 1000))
  //计算出小时数
  const leave1 = date3 % (24 * 3600 * 1000) //计算天数后剩余的毫秒数
  const hours = Math.floor(leave1 / (3600 * 1000))
  //计算相差分钟数
  const leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数
  const minutes = Math.floor(leave2 / (60 * 1000))
  //计算相差秒数
  const leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数
  const seconds = Math.round(leave3 / 1000)
  let diffValue
  if (days > 0) {
    diffValue = days + "天 " + hours + "小时 " + minutes + " 分钟" + seconds + " 秒"
  } else {
    diffValue = hours + "小时 " + minutes + " 分钟" + seconds + " 秒"
  }
  return diffValue
}
DateTime('2018-11-30 11:39:10', '2019-01-13 11:39:10')

原文地址:https://www.cnblogs.com/lxk0301/p/10214159.html