手机
当前位置:查字典教程网 >编程开发 >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中exec函数用法实例分析

javascript+HTML5自定义元素播放焦点图动画

简介JavaScript中getUTCMonth()方法的使用

JavaScript函数使用的基本教程

JavaScript的Date()方法使用详解

JavaScript常用函数工具集:lao-utils

javascript用函数实现对象的方法

Javascript的IE和Firefox兼容性汇编

JavaScript实现简单的数字倒计时

JavaScript中的函数嵌套使用

精品推荐
分类导航