<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head>
<body>
<script language="JavaScript">
function getHours(){
var time1 = document.getElementById("time1").value;
var time2 = document.getElementById("time2").value;
var date_1 = new Date();
date_1.setTime(string2date(time1));
var date_2 = new Date();
date_2.setTime(string2date(time2));
var date_diff = new Date();
// date_diff.setTime(Math.abs(date_2.getTime() - date_1.getTime()));
date_diff.setTime(date_2.getTime() - date_1.getTime());
var time_diff = date_diff.getTime();
// 计算天数
// var days = Math.floor(time_diff / (24 * 60 * 60 * 1000));
// time_diff -= days * (24 * 60 * 60 * 1000);
// 计算小时数
var hours = Math.floor(time_diff / (60 * 60 * 1000));
if(hours<0){
alert("加班结束时间不能早于加班开始时间");
return false;
}else{
document.getElementById("time3").value = hours;
}
}
function string2date(str){
var arr = str.split("-");
var year = arr[0];
var month = arr[1];
var day = arr[2].split(" ")[0];
var hour = arr[2].split(" ")[1].split(":")[0];
var min = arr[2].split(" ")[1].split(":")[1];
var second = 00;
if(month < 1 || month > 12){
alert("月份超出范围!");return false;
}
if((month == 4 || month == 6 || month == 9 || month == 11) && day == 31){
alert("该月没有"+day+"号!");return false;
}
if(month == 2){
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0))
if(day > 29 || (day == 29 && !isleap)){
alert("该月没有"+day+"号!");return false;
}
}
if(day < 1 || day > 31){
alert("该月没有"+day+"号!");return false;
}
if(hour < 0 || hour > 23){
alert("小时数无效!");return false;
}
if(min < 0 || min > 59){
alert("分钟数无效!");return false;
}
var temp = new Date(month + "/" + day + "/" + year + " " + hour + ":" + min + ":" + second);
return temp.getTime();
}
</script>
time1:<input type="text" value="2013-01-01 13:22" id="time1" />格式:YYYY-MM-DD HH:MM<br />
time2:<input type="text" value="2013-01-02 17:50" id="time2" />格式:YYYY-MM-DD HH:MM<br />
time3:<input type="text" value="" id="time3" οnclick="getHours()"/>结果<br />
<button onClick="getHours()">计算相小时数</button><br />
</body>
</html>