javascript日期相减得到相差时间

调用方法,主方法

function dateDiff(date1, date2){ 
  var type1 = typeof date1, type2 = typeof date2; 
  if(type1 == 'string') {
     date1 = stringToTime(date1); 
  }else if(date1.getTime) {
     date1 = date1.getTime(); 
  }
  if(type2 == 'string') {
     date2 = stringToTime(date2); 
  } else if(date2.getTime) {
     date2 = date2.getTime(); 
  }
  return (date1 - date2) / 1000;//结果是秒 
}

字符串转成Time(dateDiff)所需方法

function stringToTime(string){ 
  var f = string.split(' ', 2); 
  var d = (f[0] ? f[0] : '').split('-', 3); 
  var t = (f[1] ? f[1] : '').split(':', 3); 
  return (new Date( 
  parseInt(d[0], 10) || null, 
  (parseInt(d[1], 10) || 1)-1, 
  parseInt(d[2], 10) || null, 
  parseInt(t[0], 10) || null, 
  parseInt(t[1], 10) || null, 
  parseInt(t[2], 10) || null 
  )).getTime();
}

获取相差时间转换成天,小时,分钟,秒

  var days = Math.floor(time / 60 / 60 / 24),
      hours = Math.floor(time / 60 / 60 - ( days * 24 ));
      minutes = Math.floor(time / 60 - (hours * 60) - (days * 24 * 60));
      seconds = Math.floor(time - (minutes * 60) - (hours * 60 * 60) - (days * 24 * 60 * 60));
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容