// 求时间差1(时间差不能超过一天)
function timeDifference1(startTime, endTime) {
	let times = endTime.getTime() - startTime.getTime()
	// fix: 1970-1-1 08:00:00 (28800000 = 8*60*60*1000)
	return new Date(times - 28800000)
}

// 求时间差2(时间差任意)
function timeDifference2(startTime, endTime) {
    let times = endTime.getTime() - startTime.getTime()
    let hours = Math.floor(times / 3600000)
    times %= 3600000
    let minutes = Math.floor(times / 60000)
    times %= 60000
    let seconds = Math.floor(times / 1000)
    return {hours: hours, minutes: minutes, seconds: seconds}
}

// 测试
let time1 = new Date(0)
let time2 = new Date(1970,0,1,15,30,45)

console.log(time1)
console.log(time2)

let times1 = timeDifference1(time1, time2)
let text1 = `${times1.getHours()}:${times1.getMinutes()}:${times1.getSeconds()}`
console.log(`时间差:${text1}`)

let times2 = timeDifference2(time1, time2)
let text2 = `${times2.hours}:${times2.minutes}:${times2.seconds}`
console.log(`时间差:${text2}`)

最新文章

  1. php开发客服系统(持久连接+轮询+反向ajax 转载 http://www.tuicool.com/articles/2mU7v2R)
  2. 全端开发必备!10个最好的 Node.js MVC 框架
  3. 建立 svn 服务端
  4. spring事务学习(转账案例)(二)
  5. 关于C++类中的成员
  6. Hadoop将过时了?
  7. HDU4548+素数
  8. 使用PHP输出中文JSON字符串
  9. C连接MySQL数据库开发之Windows环境配置及测试
  10. android技术下载
  11. 查找一个数组中最小的前n项
  12. 蚂蚁爬杆问题 UVA 10881
  13. javascript 函数的4种调用方式与 this(上下文)的指向
  14. mapbox.gl源码解析——基本架构与数据渲染流程
  15. git push完代码 想撤回 并保留之前修改的代码 / 修改完代码 发现分支不对 想切换分支 /恢复已修改的文件
  16. 012_TCP keepalive 和 http keep-alive
  17. java程序性能分析之thread dump和heap dump
  18. 使用Spring+MySql实现读写分离(二)spring整合多数据库
  19. Linux自制编译内核
  20. POJ 2337 Catenyms(有向欧拉图:输出欧拉路径)

热门文章

  1. java多线程之Lock线程同步
  2. 成为IBM精英讲师-一分耕耘 一份收获 同时也多了一份责任!
  3. LAMP最新源码一键安装脚本
  4. Spark RDD概念学习系列之RDD的缓存(八)
  5. AutoCAD.NET二次开发错误集锦
  6. 做fzu oj 1045 做减法学到的sprintf()函数
  7. SetTimer函数的用法
  8. newlsip 检查磁盘分区使用情况
  9. android获取手机的所有通讯录的号码和sim卡号码
  10. c# abstract抽象类与继承类子类的构造函数_base