手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >JavaScript自定义DateDiff函数(兼容所有浏览器)
JavaScript自定义DateDiff函数(兼容所有浏览器)
摘要:复制代码代码如下:functionNewDate(str){str=str.split('-');vardate=newDate();dat...

复制代码 代码如下:

<script type="text/javascript">

function NewDate(str) {

str = str.split('-');

var date = new Date();

date.setUTCFullYear(str[0], str[1] - 1, str[2]);

date.setUTCHours(0, 0, 0, 0);

return date;

}

function TimeCom(dateValue) {

var newCom;

if (dateValue == "") {

newCom = new Date();

} else {

newCom = NewDate(dateValue);

}

this.year = newCom.getYear();

this.month = newCom.getMonth() + 1;

this.day = newCom.getDate();

this.hour = newCom.getHours();

this.minute = newCom.getMinutes();

this.second = newCom.getSeconds();

this.msecond = newCom.getMilliseconds();

this.week = newCom.getDay();

}

function DateDiff(interval, date1, date2) {

var TimeCom1 = new TimeCom(date1);

var TimeCom2 = new TimeCom(date2);

var result;

switch (String(interval).toLowerCase()) {

case "y":

case "year":

result = TimeCom1.year - TimeCom2.year;

break;

case "m":

case "month":

result = (TimeCom1.year - TimeCom2.year) * 12 + (TimeCom1.month - TimeCom2.month);

break;

case "d":

case "day":

result = Math.round((Date.UTC(TimeCom1.year, TimeCom1.month - 1, TimeCom1.day) - Date.UTC(TimeCom2.year, TimeCom2.month - 1, TimeCom2.day)) / (1000 * 60 * 60 * 24));

break;

case "h":

case "hour":

result = Math.round((Date.UTC(TimeCom1.year, TimeCom1.month - 1, TimeCom1.day, TimeCom1.hour) - Date.UTC(TimeCom2.year, TimeCom2.month - 1, TimeCom2.day, TimeCom2.hour)) / (1000 * 60 * 60));

break;

case "min":

case "minute":

result = Math.round((Date.UTC(TimeCom1.year, TimeCom1.month - 1, TimeCom1.day, TimeCom1.hour, TimeCom1.minute) - Date.UTC(TimeCom2.year, TimeCom2.month - 1, TimeCom2.day, TimeCom2.hour, TimeCom2.minute)) / (1000 * 60));

break;

case "s":

case "second":

result = Math.round((Date.UTC(TimeCom1.year, TimeCom1.month - 1, TimeCom1.day, TimeCom1.hour, TimeCom1.minute, TimeCom1.second) - Date.UTC(TimeCom2.year, TimeCom2.month - 1, TimeCom2.day, TimeCom2.hour, TimeCom2.minute, TimeCom2.second)) / 1000);

break;

case "ms":

case "msecond":

result = Date.UTC(TimeCom1.year, TimeCom1.month - 1, TimeCom1.day, TimeCom1.hour, TimeCom1.minute, TimeCom1.second, TimeCom1.msecond) - Date.UTC(TimeCom2.year, TimeCom2.month - 1, TimeCom2.day, TimeCom2.hour, TimeCom2.minute, TimeCom2.second, TimeCom1.msecond);

break;

case "w":

case "week":

result = Math.round((Date.UTC(TimeCom1.year, TimeCom1.month - 1, TimeCom1.day) - Date.UTC(TimeCom2.year, TimeCom2.month - 1, TimeCom2.day)) / (1000 * 60 * 60 * 24)) % 7;

break;

default:

result = "invalid";

}

return (result);

}

</script>

【JavaScript自定义DateDiff函数(兼容所有浏览器)】相关文章:

JavaScript中isPrototypeOf函数作用和使用实例

JavaScript实现鼠标拖动效果的方法

JavaScript中的私有成员

javascript用函数实现对象的方法

javascript实现Table间隔色以及选择高亮的方法

Javascript的IE和Firefox兼容性汇编

JavaScript获得url查询参数的方法

JavaScript Date对象详解

JavaScript中指定函数名称的相关方法

JavaScript中的函数嵌套使用

精品推荐
分类导航