自己写的Javascript计算时间差函数


Posted in Javascript onOctober 28, 2013

自己写了一下,适用而已,不太好,应该还能优化。先自己记录一下。不说废话了,直接贴代码最好:

/*
 * 获得时间差,时间格式为 年-月-日 小时:分钟:秒 或者 年/月/日 小时:分钟:秒
 * 其中,年月日为全格式,例如 : 2010-10-12 01:00:00
 * 返回精度为:秒,分,小时,天
 */
 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 divNum = 1;
    switch (diffType)
    {
        case "second":
            divNum = 1000;
            break;
        case "minute":
            divNum = 1000 * 60;
            break;
        case "hour":
            divNum = 1000 * 3600;
            break;
        case "day":
            divNum = 1000 * 3600 * 24;
            break;
        default:
            break;
    }
    return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(divNum));
}

调用方法也很简单:
GetDateDiff("2010-10-11 00:00:00", "2010-10-11 00:01:40", "day")
这个是计算天数
GetDateDiff("2010-10-11 00:00:00", "2010-10-11 00:01:40", "seond")是计算秒数
Javascript 相关文章推荐
起点页面传值js,有空研究学习下
Jan 25 Javascript
多种方法实现JS动态添加事件
Nov 01 Javascript
含有CKEditor的表单如何提交
Jan 09 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
Feb 10 Javascript
Jquery遍历checkbox获取选中项value值的方法
Feb 13 Javascript
jquery 实现两级导航菜单附效果图
Mar 07 Javascript
jquery 遍历数组 each 方法详解
May 25 Javascript
Vue 短信验证码组件开发详解
Feb 14 Javascript
微信小程序上传图片到服务器实例代码
Nov 07 Javascript
Vue 父子组件数据传递的四种方式( inheritAttrs + $attrs + $listeners)
May 04 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
Aug 29 Javascript
layui多图上传实现删除功能的例子
Sep 23 Javascript
Textarea根据内容自适应高度
Oct 28 #Javascript
将json当数据库一样操作的javascript lib
Oct 28 #Javascript
一个JavaScript变量声明的知识点
Oct 28 #Javascript
Javascript实现页面跳转的几种方式分享
Oct 26 #Javascript
javascript中简单的进制转换代码实例
Oct 26 #Javascript
javascript通过navigator.userAgent识别各种浏览器
Oct 25 #Javascript
javascript上传图片前预览图片兼容大多数浏览器
Oct 25 #Javascript
You might like
PHP扩展类型及安装方式解析
2020/04/27 PHP
基于jQuery日历插件制作日历
2016/03/11 Javascript
分享12个非常实用的JavaScript小技巧
2016/05/11 Javascript
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
jQuery的deferred对象使用详解
2016/09/25 Javascript
Angular和百度地图的结合实例代码
2016/10/19 Javascript
nodeJS实现简单网页爬虫功能的实例(分享)
2017/06/08 NodeJs
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
ReactNative Image组件使用详解
2017/08/07 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
这15个Vue指令,让你的项目开发爽到爆
2019/10/11 Javascript
vue之a-table中实现清空选中的数据
2019/11/07 Javascript
JS实现动态无缝轮播
2020/01/11 Javascript
[37:50]VP vs TNC Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
在Python的Flask框架中实现全文搜索功能
2015/04/20 Python
Python Web框架Tornado运行和部署
2020/10/19 Python
Python内置函数 next的具体使用方法
2017/11/24 Python
python爬取网易云音乐评论
2018/11/16 Python
postman和python mock测试过程图解
2020/02/22 Python
python与js主要区别点总结
2020/09/13 Python
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
Charles & Colvard官网:美国莫桑石品牌
2019/06/05 全球购物
将时尚融入珠宝:Adornmonde
2019/10/17 全球购物
古驰英国官网:GUCCI英国
2020/03/07 全球购物
请解释接口的显式实现有什么意义
2012/05/26 面试题
小学教育毕业生自荐信
2013/11/18 职场文书
高中的职业生涯规划书
2013/12/28 职场文书
医学专业大学生求职信
2014/07/12 职场文书
施工安全责任书范本
2014/07/24 职场文书
教师政风行风自查自纠报告
2014/10/21 职场文书
考试没考好检讨书
2015/05/06 职场文书
2015年小学财务工作总结
2015/07/20 职场文书
2016年秋季运动会通讯稿
2015/11/25 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
PostgreSQL事务回卷实战案例详析
2022/03/25 PostgreSQL