其实,javascript计算时间差的方式非常简单,如果是默认的Date()类型,直接相减就是相差的毫秒数。
var d1 = new Date('2016/03/28 10:17:22'); var d2 = new Date('2016/03/28 11:17:22'); console.log(parseInt(d2 - d1));//两个时间相差的毫秒数 console.log(parseInt(d2 - d1) / 1000);//两个时间相差的秒数 console.log(parseInt(d2 - d1) / 1000 / 60);//两个时间相差的分钟数 console.log(parseInt(d2 - d1) / 1000 / 60);//两个时间相差的小时数
输出如下:
如果,拿到的不是日期类型,而是"2016-03-28 10:27:00"这种的字符串格式呢,那么就需要先将字符串转换为日期类型。
var t1 = "2016-03-28 10:27:00"; var d1 = t1.replace(/\-/g, "/"); var date1 = new Date(d1);
以上得到的date1就是一个日期类型了。就可以计算了,只要再简单封装一下,就能够组合出任意的事件类型转换函数。
如:输入字符串得到相差秒数:
<!doctype html> <html> <head> <title>jQuery判断元素是隐藏的还是可见的</title> </head> <body> <script> function GetDateDiff(startTime, endTime, diffType) { //将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式 startTime = startTime.replace(/\-/g, "/"); endTime = endTime.replace(/\-/g, "/"); //将计算间隔类性字符转换为小写 diffType = diffType.toLowerCase(); var sTime =new Date(startTime); //开始时间 var eTime =new Date(endTime); //结束时间 //作为除数的数字 var timeType =1; switch (diffType) { case"second": timeType =1000; break; case"minute": timeType =1000*60; break; case"hour": timeType =1000*3600; break; case"day": timeType =1000*3600*24; break; default: break; } return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(timeType)); } alert(GetDateDiff("2016-03-28 10:30:22","2016-03-28 10:38:22","minute")); </script> </body> </html>
分类:
前端:javascript笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2013-04-22 正则表达式(一) -- 元字符
2013-04-22 Uri编码,包括javascript前端与C#服务器端
2013-04-22 System.Uri类 - 获取Url的各种属性,文件名,参数,域名,端口等等