自己写的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 相关文章推荐
Confirmer JQuery确认对话框组件
Jun 09 Javascript
JS延迟加载(setTimeout) JS最后加载
Jul 15 Javascript
JQuery动态创建DOM、表单元素的实现代码
Aug 09 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
Nov 23 Javascript
jquery将一个表单序列化为一个对象的方法
Jan 03 Javascript
深入浅析AngularJS和DataModel
Feb 16 Javascript
js表单处理中单选、多选、选择框值的获取及表单的序列化
Mar 08 Javascript
Javascript Event(事件)的传播与冒泡
Jan 23 Javascript
原生js实现日期计算器功能
Feb 17 Javascript
jQuery阻止事件冒泡实例分析
Jul 03 jQuery
详解小程序input框失焦事件在提交事件前的处理
May 05 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
Nov 13 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
在yii中新增一个用户验证的方法详解
2013/06/20 PHP
php中执行系统命令的方法
2015/03/21 PHP
php给图片加文字水印
2015/07/31 PHP
在Laravel中使用MongoDB的方法示例
2019/11/11 PHP
Aptana调试javascript图解教程
2009/11/30 Javascript
28个JS验证函数收集
2010/03/02 Javascript
jquery ajax同步异步的执行最终解决方案
2013/04/26 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
2014/09/22 Javascript
JavaScript学习笔记之Function对象
2015/01/22 Javascript
JavaScript之数组(Array)详解
2015/04/01 Javascript
js判断手机访问或者PC的几个例子(常用于手机跳转)
2015/12/15 Javascript
JavaScript中的ParseInt("08")和“09”返回0的原因分析及解决办法
2016/05/19 Javascript
实例讲解JavaScript中的this指向错误解决方法
2016/06/13 Javascript
浅谈js for循环输出i为同一值的问题
2017/03/01 Javascript
基于react框架使用的一些细节要点的思考
2017/05/31 Javascript
自定义事件解决重复请求BUG的问题
2017/07/11 Javascript
js+html5实现侧滑页面效果
2017/07/15 Javascript
VUE实现一个分页组件的示例
2017/09/13 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
在微信小程序中保存网络图片
2019/02/12 Javascript
npm的lock机制解析
2019/06/20 Javascript
JavaScript实现移动端弹窗后禁止滚动
2020/05/25 Javascript
[42:20]2014 DOTA2华西杯精英邀请赛5 24 DK VS NewBee
2014/05/25 DOTA
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
python中的列表与元组的使用
2019/08/08 Python
如何用python免费看美剧
2020/08/11 Python
大专毕业生自我评价分享
2013/11/10 职场文书
小区门卫管理制度
2014/01/29 职场文书
工伤赔偿协议书范本
2014/04/15 职场文书
庆七一活动总结
2014/08/27 职场文书
玩手机检讨书1000字
2014/10/20 职场文书
2019优秀干部竞聘演讲稿范文!
2019/07/02 职场文书
为什么说餐饮很难做,是因为你不了解这些新规则
2019/08/20 职场文书
Linux系统下MySQL配置主从分离的步骤
2022/03/21 MySQL
python+pyhyper实现识别图片中的车牌号思路详解
2022/12/24 Python