当前位置:首页 > 开发 > Web前端 > JavaScript > 正文

JS 计算日期差

发表于: 2012-09-03   作者:air291988889   来源:转载   浏览次数:
摘要: <html>  <head>  <meta  http-equiv="Content-Type"  content="text/html;  charset=gb2312">  <title></title>  </head

<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" onclick="getHours()"/>结果<br />
<button  onClick="getHours()">计算相小时数</button><br />

</body> 
</html> 

 

 

JS 计算日期差

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
输入两个具体时间:年月日,计算相差天数。 例: 输入: 1994 12 8 1994 12 9 输出: 1 源代码: #i
<div class="grid_3 lable-right"> <label class="form-lbl">未落户时间</label>
protected string GetDiffTime(DateTime beginTime, DateTime endTime) { string strResout = "{0}{
protected string GetDiffTime(DateTime beginTime, DateTime endTime) { string strResout = "{0}{
计算毫秒级的时间差算是一个常见的需求吧... 手头上是windows编程的项目,所以首先就想到的是GetTic
TimeSpan 结构 表示一个时间间隔。 命名空间:System 程序集:mscorlib(在 mscorlib.dll 中) 说明:
<html> <head> <script type="text/javascript"> /** * 检验日期合法性,日期格
5个最佳的日期处理函数类库,希望对于大家有帮助,如果你喜欢我们的文章,请大家给我们留言,谢谢!
Dates and Times: Core JS includes a Date() constructor for creating objects that represent da
在做开发的过程中经常要提供给用户对日期时间的选择功能,如果是采用让用户手动输入,就显得缺少了
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号