SOURCE

function dateDiff(sDate1) {
  if (sDate1) {
    const date2 = new Date();
    let date1 = new Date(Date.parse(sDate1.replace(/-/g, "/")));
    //得到相差的毫秒数,同时,必须是负值
    let diffTimestamp = date2.getTime() - date1.getTime();
    if (diffTimestamp < 0) {
      //使用相差的毫秒数 /1000 得到 秒数
      let diffSecond = parseInt(Math.abs(diffTimestamp) / 1000);
      console.log('diffSecond:---', diffSecond);
      //秒数 / 60 得到分钟
      let diffMinute = parseInt(diffSecond / 60);
      console.log('diffMinute:---', diffMinute);
      //分钟 / 60 得到小时
      let diffHour = parseInt(diffMinute / 60);
      console.log('diffHour:---', diffHour);
      //得到天
      let diffDay = parseInt(diffHour / 24);
      console.log('diffDay:---', diffDay);

      //如果相差的小时大于0并且小于24,就返回1天,否则就按照天算
      let diffSecondTxt = '';
      let diffMinuteTxt = '';
      let diffHourTxt = '';
      let diffDayTxt = '';
      if (diffSecond > 0 && diffSecond <= 60) {
        diffSecondTxt = diffSecond + '秒';
      }
      if (diffMinute > 0 && diffMinute <= 60) {
        diffMinuteTxt = diffMinute + '分';
        diffSecondTxt = (diffSecond - diffMinute * 60) + '秒';
      }
      if (diffHour > 0 && diffHour < 24) {
        diffHourTxt = diffHour + '小时';
        diffMinuteTxt = (diffMinute - diffHour * 60) + '分';
        diffSecondTxt = (diffSecond - diffMinute * 60) + '秒';
      } else {
        diffDayTxt = diffDay + '天';
        diffHourTxt = (diffHour - diffDay * 24) + '小时';
        diffMinuteTxt = (diffMinute - diffHour * 60) + '分';
        diffSecondTxt = (diffSecond - diffMinute * 60) + '秒';
      }

      console.log(diffDayTxt + diffHourTxt + diffMinuteTxt + diffSecondTxt);
      let diff = diffHour > 0 && diffHour < 24 ? 1 : parseInt(diffHour / 24);
      //如果最后算出的差值小于0,就是0
      return diff < 0 ? 0 : diff;
    } else {
      return 0;
    }
  }
}

dateDiff('2019-04-26 16:01:30');




// setInterval(function(){
//   dateDiff('2019-04-26 16:01:30');
// },5000)



console 命令行工具 X clear

                    
>
console