`
chinachuner
  • 浏览: 64750 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

JS计算日期段的天数

阅读更多

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

 <HEAD>

  <TITLE>JS计算日期段的天数 </TITLE>

  <META NAME="Generator" CONTENT="EditPlus">

  <META NAME="Author" CONTENT="">

  <META NAME="Keywords" CONTENT="">

  <META NAME="Description" CONTENT="">

 

  <script type="text/javascript"> 

  /*将String类型解析为Date类型.   

  parseDate('2006-1-1') return new Date(2006,0,1)   

  parseDate(' 2006-1-1 ') return new Date(2006,0,1)   

  parseDate('2006-1-1 15:14:16') return new Date(2006,0,1,15,14,16)   

  parseDate(' 2006-1-1 15:14:16 ') return new Date(2006,0,1,15,14,16);   

  parseDate('2006-1-1 15:14:16.254') return new Date(2006,0,1,15,14,16,254)   

  parseDate(' 2006-1-1 15:14:16.254 ') return new Date(2006,0,1,15,14,16,254)   

  parseDate('不正确的格式') retrun null   

*/    

function parseDate(str){     

  if(typeof str == 'string'){     

    var results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) *$/);     

    if(results && results.length>3){     

      return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]));

}

    results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2}) *$/);     

    if(results && results.length>6){     

 //alert(results[1]+'--'+results[2]+'--'+results[3]+'--'+results[4]+'--'+results[5]+'--'+results[6]);

      return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]));      

    }

results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2})\.(\d{1,9}) *$/);     

    if(results && results.length>7){     

      return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]),parseInt(results[7])); 

}

  }     

  return null;     

function transDate(str){

if(typeof str == 'string'){

}

return null;

}

/*   

  将Date/String类型,解析为String类型.   

  传入String类型,则先解析为Date类型   

  不正确的Date,返回 ''   

  如果时间部分为0,则忽略,只返回日期部分.   

*/    

function formatDate(v){     

  if(typeof v == 'string') v = parseDate(v);     

  if(v instanceof Date){     

    var y = v.getFullYear();     

    var m = v.getMonth() + 1;     

    var d = v.getDate();     

    var h = v.getHours();     

    var i = v.getMinutes();     

    var s = v.getSeconds();     

    var ms = v.getMilliseconds();        

    if(ms>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s + '.' + ms;     

    if(h>0 || i>0 || s>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s;     

    return y + '-' + m + '-' + d;     

  }     

  return '';     

}   

  function DateDiff(asStartDate,asEndDate)   

  {   //获得日期差值   

      var miStart=Date.parse(asStartDate.replace(/\-/g,'/'));      

      var miEnd=Date.parse(asEndDate.replace(/\-/g,'/'));      

      return (miEnd-miStart)/(1000*24*3600);      

  }  

  function  btnCount_Click(){

 

       s1  =  document.getElementById('start').value;  

  s2  =  document.getElementById('end').value;

  s1=parseDate(s1);

  s2=parseDate(s2);

  alert(s1+'---------'+s2);

 //alert(msToDay(Date.parse(s1)-Date.parse(s2)));

      // alert(DateDiff(s1,s2))  

   }  

   function msToDay(ms){

var ss = 1000;

     var mi = ss * 60;

     var hh = mi * 60;

     var dd = hh * 24;

     var day = ms / dd;

     var hour = (ms - day * dd) / hh;

     var minute = (ms - day * dd - hour * hh) / mi;

     var second = (ms - day * dd - hour * hh - minute * mi) / ss;

     var milliSecond = ms - day * dd - hour * hh - minute * mi - second * ss;

var strDay = day < 10 ? 0 + day : day;

     var strHour = hour < 10 ? 0 + hour :hour;

     var strMinute = minute < 10 ? 0 + minute :minute;

     var strSecond = second < 10 ? 0 + second :second;

     var strMilliSecond = milliSecond < 10 ? "0" + milliSecond : "" + milliSecond;

     strMilliSecond = milliSecond < 100 ? "0" + strMilliSecond : "" + strMilliSecond;

return parseInt(strDay) + "天" + strHour + "小时" + strMinute + "分" + strSecond + "秒";

   }

   //计算天数差的函数,通用  

   function  DateDiff(sDate1,  sDate2){    //sDate1和sDate2是2006-12-18格式  

       var  aDate,  oDate1,  oDate2,  iDays  

       aDate  =  sDate1.split("-")  

       oDate1  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])    //转换为12-18-2006格式  

       aDate  =  sDate2.split("-")  

       oDate2  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])  

       iDays  =  parseInt(Math.abs(oDate1  -  oDate2)  /  1000  /  60  /  60  /24)    //把相差的毫秒数转换为天数  

       return  iDays  

   }    

 

</script> 

 </HEAD>

 

 <BODY>

 <input id="start" type="text" value="2010-08-14 11:11:11">  <input id="end" type="text" value="2010-08-09 11:15:11">

  <input name="" type="button" onclick="btnCount_Click()" value="计算天数" /> 

  减得毫秒,自己再除以分、时、天

 </BODY>

</HTML>

分享到:
评论

相关推荐

    kettle中使用js计算两个日期之间的天数.txt

    kettle中使用js计算两个日期之间的天数

    JS 获得两个时间间隔天数

    在这个方法中,我们将探讨如何利用JavaScript的内置Date对象以及一些基本的算术运算来计算日期间隔。 首先,我们需要创建两个Date对象,分别表示我们想要比较的两个日期。例如: ```javascript var date1 = new ...

    日期计算、倒计时、天数计算

    日期计算涉及到对日期的加减操作,比如计算两个日期之间的差距或者给一个日期增加或减少特定的时间段。在Python中,可以使用`datetime`模块来处理日期和时间。例如,要计算两个日期之间的天数差,可以这样操作: ``...

    计算两个日期相隔天数并减去节假日

    计算两个日期相隔天数并减去节假日,这个可以使用在各种需要通知的场景以及工作日提醒等

    两个时间间隔的天数

    这段代码提供了一个JavaScript函数 `functionDateDiff`,用于计算两个日期字符串之间相隔的天数。 #### 函数解析 - **参数**: - `sDate1`:表示起始日期的字符串。 - `sDate2`:表示结束日期的字符串。 - 这两...

    JavaScript天数计算

    通过以上知识点的学习,我们可以了解到如何在JavaScript中进行日期和时间的计算,包括创建日期对象、获取日期值、计算日期差以及实现定时更新等功能。这些知识对于开发涉及时间计算的应用非常有用。

    javaScript 计算两个日期的天数相差(示例代码)

    总结来说,本文提供了两个使用JavaScript计算日期差的技巧。一个是基于日期字符串的计算,另一个是基于当前日期加上一定天数后的计算。这些技巧在实际开发中非常实用,特别是在处理涉及日期计算的场景。在使用这些...

    计算天数精确到分钟.rar

    "计算天数精确到分钟"这个主题涉及到如何在代码中准确地计算日期间隔,并且细化到分钟级别。在不同的编程语言中,都有相应的库和函数来支持这种操作。 在Python中,我们可以使用内置的`datetime`模块来处理日期和...

    js计算两个时间的时间差

    虽然描述部分重复了“js计算时间差”这一短语,但从上下文中我们可以理解到,这段描述旨在强调文章的主题是关于如何用JavaScript来计算两个时间点之间的时间差。 ### 标签:“js 时间差 时间差 时间差” 标签...

    计算日期相隔的时间,天数,分钟,秒数

    本文将深入探讨如何在各种编程语言中计算日期相隔的时间,包括天数、分钟和秒数,以及时间间隔的计算方法。 首先,让我们理解日期和时间的基本概念。日期通常表示一年中的某一天,而时间则涉及小时、分钟和秒。两者...

    javascript获取当月天数

    JavaScript 的 `Date` 对象提供了一系列的方法来处理日期和时间。我们可以通过创建一个特定月份的 `Date` 对象,并将其日期设置为该月的第一天或最后一天来获取该月的天数。 ##### 示例代码: ```javascript ...

    JS简单获取日期相差天数的方法

    除了本文介绍的方法外,还可以通过使用其他在线工具来帮助我们计算日期差。例如,提供的链接中包含了多个在线日期和天数计算器,这些工具可以通过网页直接进行日期运算,无需编写代码。这为不熟悉JavaScript或者需要...

    计算两时间段的重合天/小时/分钟/秒数的工具类

    有时候我们在计算时间时,有让获取两时间段重合的天数这种需求,小编也是遇到了这样的需求,就封装了一个工具类,希望能帮助到大家。 例如求(2022-05-02 00:00:00 至 2022-05-12 23:59:59) 时间段和(2022-05-04 ...

    计算工作日

    ### 知识点详解 #### 一、计算两个日期间的工作日数量 ...综上所述,这段代码提供了计算两个日期间工作日数量的一种实现方法,通过调整日期、计算总天数、排除周末和节假日等方式实现了功能需求。

    js日期快速添加天数

    在JavaScript中处理日期是非常常见的需求之一,尤其是在开发涉及时间线、日程管理或数据统计的应用时。本篇文章将详细介绍如何使用JavaScript来实现对日期进行快速添加天数的功能,并深入探讨其背后的原理。 #### 1...

    js日期计算

    ### JS日期计算:掌握日期操作的艺术 在JavaScript中,日期计算是前端开发中常见的需求之一,无论是处理用户界面中的日期选择、数据统计还是时区转换,掌握日期对象及其方法都是必不可少的技能。本文将深入探讨如何...

    使用JS获取本周本月时间段的方法

    这些时间段可以用于过滤数据、计算日期范围内的事件等。 为了提高代码可复用性,我们可以封装成函数: ```javascript function getWeekInterval() { let currentDate = new Date(); let dayOfWeek = currentDate....

    JS 两日期相减,获得天数的小例子(兼容IE,FF)

    在这个小例子中,我们将讨论如何使用JavaScript来计算两个日期之间的天数差,并确保这段代码能在不同的浏览器,包括IE和Firefox中正常工作。 首先,让我们深入理解这个`GetDay()`函数的结构。该函数的目标是获取两...

    一段js小代码,计算距春节还有多少天.docx

    ### 一段JS小代码,计算距春节还有多少天 #### 背景介绍 随着互联网技术的发展,前端开发越来越受到重视。JavaScript(简称JS)作为前端开发的核心语言之一,在网页动态效果、用户交互等方面发挥着重要作用。对于...

    根据生日计算年龄JS

    ### 根据生日计算年龄的JavaScript方法 在日常开发中,我们经常需要处理与日期相关的逻辑,例如根据用户的出生日期来计算其年龄。这在很多应用场景下都非常实用,比如用户注册、年龄验证等功能。下面将详细介绍如何...

Global site tag (gtag.js) - Google Analytics