js 根据开始和结束日期计算时间差

2020-11-6 Jon js+jquery+ajax

支持传入格式
  • new Date() 形式
  • 字符串形式 '2020/11/30 '或 '2020-11-30'
  • 字符串形式 '2020-11-20T12:00:29.609859+08:00'
  • 数字格式的时间戳 1623736698905
代码
/* 
  计算时间差 
    start 开始时间
    end   结束时间
*/
function timeDifference(start, end) {
  var date1 = new Date(start);
  var date2 = new Date(end);
  // 时间差的毫秒数
  var date3 = date2.getTime() - date1.getTime();
  var s = Math.floor(date3/1000);
  var m = Math.floor(s/60);
  var h = Math.floor(m/60);
  // 计算出相差天数
  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);
  console.log('大约分别有:' + s + '秒!', m+'分!', h + '小时!', days + '天!');
  console.log('两者相差:' + days + '天 ' + hours + '小时 ' + minutes + '分钟 ' + seconds+'秒');
}
// 调用 开始时间 结束时间
timeDifference('2020-11-20T12:00:29.609859+08:00', '2020-11-23T15:04:38.263337+08:00');

标签: js date

分享这篇文章
赞助鼓励:如果觉得内容对您有所帮助,您可以支付宝(左)或微信(右):

声明:如无特殊注明,所有博客文章版权皆属于作者,转载使用时请注明出处。谢谢!

发表评论:

皖ICP备15010162号-1 ©2015-2020 知向前端
qq:1614245331 邮箱:13515678147@163.com Powered by emlog sitemap