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

一:计算两个日期相差的天数

比如: 
 str1  =  "2002-01-20" 
 str2  =  "2002-10-11" 
怎样用javaScript计算出str1与str2之间相差的天数? 


代码如下:

<html> 
<head> 
<meta  http-equiv="Content-Type"  content="text/html;  charset=gb2312"> 
<title></title> 
</head>

<body> 
<button  onClick="btnCount_Click()">计算相差天数</button> 
<script  language="JavaScript">

function  btnCount_Click(){ 
       s1  =  "2002-1-10" 
       s2  =  "2002-10-1" 
       alert(DateDiff(s1,s2)) 
   }

//计算天数差的函数,通用 
   function  DateDiff(sDate1,  sDate2){    //sDate1和sDate2是2002-12-18格式 
       var  aDate,  oDate1,  oDate2,  iDays 
       aDate  =  sDate1.split("-") 
       oDate1  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])    //转换为12-18-2002格式 
       aDate  =  sDate2.split("-") 
       oDate2  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0]) 
       iDays  =  parseInt(Math.abs(oDate1  -  oDate2)  /  1000  /  60  /  60  /24)    //把相差的毫秒数转换为天数 
       return  iDays 
}

二:计算一定天数后的日期

在JavaScript中,计算当天日期后的几天是什么日期。远远没有在.Net中来的方便,一个函数就可以解决问题。就这个问题,把我困扰了一段时间,最终通过一个网友的介绍才把问题给解决掉。贴出来一起分享一下。


代码如下:

<script  language="javascript"  type="text/javascript"> 
var  startDate  =  new  Date  ();           var  intValue  =  0; 
var  endDate  =  null;

intValue  =  startDate.getTime();            intValue  +=  100  *  (24  *  3600  *  1000); 
endDate  =  new  Date  (intValue); 
alert  (endDate.getFullYear()+"-"+ (endDate.getMonth()+1)+"-"+ endDate.getDate()); 
</script>

上面的100代表100天后的日期,你可以修改。JS中Date.getTime(),只能1970.01.01之后的日期;还有月份是0 - 11,有点不一样,切忌哦。当然你也可以计算特定日期后的日期。


代码如下:

<script  language="javascript"  type="text/javascript"> 
var  startDate  =  new  Date  (2007,  (8-1),  1,  10,  10,  10);
var  intValue  =  0; 
var  endDate  =  null;

intValue  =  startDate.getTime();            intValue  +=  100  *  (24  *  3600  *  1000);
endDate  =  new  Date  (intValue); 
alert  (endDate.getFullYear()+"-"+ (endDate.getMonth()+1)+"-"+ endDate.getDate()); 
</script>

(0)

相关推荐

  • js时间戳格式化成日期格式的多种方法

    js需要把时间戳转为为普通格式,一般的情况下可能用不到的, 下面先来看第一种吧 复制代码 代码如下: function getLocalTime(nS) { return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' '); } alert(getLocalTime(1293072805)); 结果是 2010年12月23日 10:53 第二种 复制代码 代码如下: function getLocalTi

  • JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】

    本文实例讲述了JS获取日期的方法.分享给大家供大家参考,具体如下: 原理很简单,一天的时间的毫秒数是1000*60*60*24, 前n天的日期就是现在日期换成毫秒-n*1000*60*60*24. 再把这个值换成日期即可(通过setTime方法) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> &l

  • 日期 时间js控件

    复制代码 代码如下: <script language="JavaScript"> /**//** *本日历选择控件由tiannet根据前人经验完善而得.大部分代码来自meizz的日历控件. *tiannet添加了时间选择功能.select,object标签隐藏功能,还有其它小功能. *使用方法: * (1)只选择日期 <input type="text" name="date" readOnly onClick="s

  • js获取日期:昨天今天和明天、后天

    复制代码 代码如下: <html> <head> <meta http-equiv="Content-Type" content="textml; charset=utf-8"> <title>js获取日期:前天.昨天.今天.明天.后天 - Liehuo.Net</title> </head> <body> <script language="JavaScript&q

  • js 日期字符串截取分割成单个具体的日期(2009-12-30 13:28:29)

    var time='2009-12-30 13:28:29'; alert(time); var year=time.substr(0,4); alert(year); var index1=time.indexOf("-"); var index2=time.lastIndexOf("-"); var cha=parseInt(index2)-(parseInt(index1)+1); var month=time.substr((parseInt(index1)

  • JavaScript实现字符串与日期的互相转换及日期的格式化

    字符串转日期.日期转字符串 // 2014-02-25 /** * 字符串转时间(yyyy-MM-dd HH:mm:ss) * result (分钟) */ stringToDate : function(fDate){ var fullDate = fDate.split("-"); return new Date(fullDate[0], fullDate[1]-1, fullDate[2], 0, 0, 0); } /** * 格式化日期 * @param date 日期 * @

  • JS 日期比较大小的简单实例

    1,比较日期大小的js代码 复制代码 代码如下: <script>var beginDate=$("#beginDate").val();   var endDate=$("#endDate").val();   var d1 = new Date(beginDate.replace(/\-/g, "\/"));   var d2 = new Date(endDate.replace(/\-/g, "\/"));

  • js判断两个日期是否相等的方法

    例如: 复制代码 代码如下: var date1 = new Date("2013-11-29");var date2 = new Date("2013-11-29");console.log(date1 == date2); //false 这里,date1和date2看上去是一样的,但是运行 date1 == date2 返回的却是false.这是因为date1.date2都是对象,类型为引用类型,所以如果需要比较他们,需要去比较他们的字面量值,而不是单纯的用

  • Js 获取当前日期时间及其它操作实现代码

    myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数) myDate.getHours();

  • js显示当前日期时间和星期几

    JavaScript获取当前日期时间同时显示星期几,具体代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="/jquery/1.7.0/jquery.min.js"></scr

  • JS 日期操作代码,获取当前日期,加一天,减一天

    title $ = function(o) { return typeof o === 'string' ? document.getElementById(o) : o }; //设置当前日期 var ma = [['1','3','5','7','8','10'],['4','6','9','11']]; var dd = new Date(); var x = dd.toLocaleString(); var o = pasDate(x); $('date').value = o.join

  • js字符串日期yyyy-MM-dd转化为date示例代码

    最近遇到一个问题,就是获取表单中的日期往后台通过json方式传的时候,遇到Date.parse(str)函数在ff下报错: NAN 找了些资料,发现是由于Date.parse()函数对日期格式有要求:详细参考 Date.parse函数 对于js操作日期: 创建一个日期对象: var objDate=new Date([arguments list]); 参数形式有以下5种: 复制代码 代码如下: view plainnew Date("month dd,yyyy hh:mm:ss");

随机推荐