自己写的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中解析HTML字符串示例代码
Apr 16 Javascript
JS实现CheckBox复选框全选全不选功能
May 06 Javascript
javascript函数的四种调用模式
Jan 08 Javascript
js判断是否是手机页面
Mar 17 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
Mar 30 jQuery
layui中使用jquery控制radio选中事件的示例代码
Aug 15 jQuery
发布一款npm包帮助理解npm的使用
Jan 03 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
Apr 12 Javascript
微信小程序嵌入腾讯视频源过程详解
Aug 08 Javascript
在layui下对元素进行事件绑定的实例
Sep 06 Javascript
Vue组件为什么data必须是一个函数
Jun 11 Javascript
google广告之另类js调用实现代码
Aug 22 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里面的抽象类
2010/01/28 PHP
php强制运行广告的方法
2014/12/01 PHP
php实现搜索类封装示例
2016/03/31 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
2017/09/28 PHP
jQuery 遍历json数组的实现代码
2020/09/22 Javascript
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
2010/11/30 Javascript
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
2013/07/10 Javascript
JS防止用户多次提交的简单代码
2013/08/01 Javascript
javascript验证身份证完全方法具体实现
2013/11/18 Javascript
解析JSON对象与字符串之间的相互转换
2013/12/18 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
jquery datatable后台封装数据示例代码
2014/08/07 Javascript
angularJS中$apply()方法详解
2015/01/07 Javascript
JavaScript使用二分查找算法在数组中查找数据的方法
2015/04/07 Javascript
使用AngularJS处理单选框和复选框的简单方法
2015/06/19 Javascript
第一次接触神奇的Bootstrap表单
2016/07/27 Javascript
JavaScript字符串_动力节点Java学院整理
2017/06/27 Javascript
jQuery扇形定时器插件pietimer使用方法详解
2017/07/18 jQuery
AngularJS路由删除#符号解决的办法
2017/09/28 Javascript
利用vue+elementUI实现部分引入组件的方法详解
2017/11/22 Javascript
解决vue处理axios post请求传参的问题
2018/03/05 Javascript
详解Vue、element-ui、axios实现省市区三级联动
2019/05/07 Javascript
layui table 表格模板按钮的实例代码
2019/09/21 Javascript
vue中axios的二次封装实例讲解
2019/10/14 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
python 二分查找和快速排序实例详解
2017/10/13 Python
Numpy中转置transpose、T和swapaxes的实例讲解
2018/04/17 Python
pytorch使用 to 进行类型转换方式
2020/01/08 Python
如何表示python中的相对路径
2020/07/08 Python
HTML5的Geolocation地理位置定位API使用教程
2016/05/12 HTML / CSS
HTML5新特性之用SVG绘制微信logo
2016/02/03 HTML / CSS
高中生班主任评语
2014/04/25 职场文书
乡镇遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
工程部部长岗位职责
2015/02/12 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/04/22 无线电