js 计算日期差 精确到小时

<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> 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值