js计算时间间隔功能实现

时间计算按天数

 代码如下 复制代码

function GetDateDiff(startDate,endDate)
{
var startTime = new Date(Date.parse(startDate.replace(/-/g, "/"))).getTime();
var endTime = new Date(Date.parse(endDate.replace(/-/g, "/"))).getTime();
var dates = Math.abs((startTime - endTime))/(1000*60*60*24);
return dates;
}

js 里面可以直接 Date1-Date2,而且还是转换为毫秒计算时间差的。

 代码如下 复制代码

// 计算两个日期的间隔天数
function DateDiff(sDate1, sDate2){ //sDate1和sDate2是2002-12-18格式
var aDate, oDate1, oDate2, iDays
aDate = sDate1.split("-")
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) //转换为12-18-2002格式
aDate = sDate2.split("-")
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])
iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24) //把相差的毫秒数转换为天数
return iDays
}

最后整理一个功能全面的函数

 代码如下 复制代码
/*
* 获得时间差,时间格式为 年-月-日 小时:分钟:秒 或者 年/月/日 小时:分钟:秒
* 其中,年月日为全格式,例如 : 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")是计算秒数
时间: 2024-10-27 03:09:34

js计算时间间隔功能实现的相关文章

jQuery实现购物车计算价格功能的方法

 这篇文章主要介绍了jQuery实现购物车计算价格功能的方法,实例分析了jQuery针对html元素的操作技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了jQuery实现购物车计算价格功能的方法.分享给大家供大家参考.具体如下: 目的 实现在html界面修改购物车的件数,购物车商品价格的小计和总计要修改. 实现思路 1.当点击进入界面,刷新的时候触发body内的onload=""方法,跳转到JS代码.这样做的原因是在数据库内我们只会存储某客户的准备购买的商品件数,而

javascript-一个简单的js计算取值问题

问题描述 一个简单的js计算取值问题 帮我看看这个段代码哪里错了,合计金额 那个位置总是计算取值不对 $(function() { var a = $("#cartBody"); var c = $("#divNone"); var b = function() { var o = ""; var h = $("#divTopMoney"); var g = $("#divBtmMoney"); var e

jQuery实现购物车计算价格功能的方法_jquery

本文实例讲述了jQuery实现购物车计算价格功能的方法.分享给大家供大家参考.具体如下: 目的 实现在html界面修改购物车的件数,购物车商品价格的小计和总计要修改. 实现思路 1.当点击进入界面,刷新的时候触发body内的onload=""方法,跳转到JS代码.这样做的原因是在数据库内我们只会存储某客户的准备购买的商品件数,而不会存储每类商品价格的小计和购物车内所有物品的商品总价格,初始化的目的就是为将这些数字计算出来后显示在前台界面上. 2.当更改数量输入框中每个商品的数量时,整个

JS全选功能代码优化

JS全选功能代码优化     最近在看javascript MVC那本书,也感觉到自己写的代码也并不优雅,所以一直在想 用另一种模式来编写JS代码,所以针对之前的简单的JS全选功能来做个简单的demo,使用目前现在的编码方式来重新编码,当然以后会一直用这种方式来编写自己的代码.下面是如下代码:  JS所有代码: /**  * JS全选  * @class Checkall  * @param {Object} cfg  * @param {Elementselector} [cfg.contai

js计算页面刷新次数

很简单的一个js计算页面刷新次数脚本,拿出来跟大家分享. 大家可以运行代码看看效果: [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

非常实用的效果:用JS计算剩余可用字数

js 用JS计算剩余可用字数 输入框允许的字数范围对用户看来并不可见,是个很抽象的东西,JS可以提供给用户一个很直观的数字,让用户控制好使用的字数. *此效果涉及到一点HTML DOM知识和JS知识 效果 4525364564645645645646      文字最大长度: 250. 还剩: 228. 代码解释 先看看HTML代码:<textarea name="description" onkeyup="checkLength(this);"><

js计算任意值之间随机数的方法

 这篇文章主要介绍了js计算任意值之间随机数的方法,分析了Math.random函数的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了js计算任意值之间随机数的方法.分享给大家供大家参考.具体实现方法如下: 首先:Math.random()这个方法就是计算随机数的返回大于等于0小于1的随机数, Math.random()*10岂不是返回大于等于0返回小于10吗,但是他只能返回小于10的数,不能返回10,怎么办呢,我们在原来的函数上再加1就变成了Math.random(

js实现ArrayList功能附实例代码

 1.ArrayList方法摘要 构造方法摘要 ArrayList() 构造一个初始容量为 10 的空列表. ArrayList(Collection<? extends E> c) 构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的. ArrayList(int initialCapacity) 构造一个具有指定初始容量的空列表. 方法摘要 boolean add(E e) 将指定的元素添加到此列表的尾部. void a

代码-求指点JS记住密码功能问题

问题描述 求指点JS记住密码功能问题 调试一直出现问题,跪求大神们指点! 谢谢各位! JS代码: function setCookies(expiredays) { var exdata=new Data(); exdata.setDate(exdate.getDate()+expiredays); n_value=document.getElementById("username").value; p_value=document.getElementById("passw