在网站开发中,经常会遇到计算日期相差的天数,js 没有提供相应的方法,所以自己写一个,方便将来查看:

代码:

function DateDiff(sDate1, sDate2, splitStr) {    //sDate1和sDate2是2006-12-18格式
var aDate, oDate1, oDate2, iDays;
aDate = sDate1.split(splitStr);
oDate1 = new Date(aDate[1] + splitStr + aDate[2] + splitStr + aDate[0]); //转换为12-18-2006格式
aDate = sDate2.split(splitStr);
oDate2 = new Date(aDate[1] + splitStr + aDate[2] + splitStr + aDate[0]);
iDays = parseInt((oDate1 - oDate2) / 1000 / 60 / 60 / 24); //把相差的毫秒数转换为天数
return iDays;
}

参数解释:

sDate1:结束日期
sDate2: 开始日期
splitStr:日期的分隔符,如(2010-10-10的分隔符为“-”)这里是为了通用各种分隔符的日期格式。
如果要返回天数,而不是要谁大谁小,Math.abs((oDate1 - oDate2))就计算绝对值。
以上就足以计算时间差了,以下是为了让这个更完善。

如果日期没有分隔符(如:20101210),这种情况怎么办呢,只好将其转为有分隔符的日期了,顺带附上转换日期的函数:
function convertDate(date,splitStr)//轉換日期格式
{
var strDate = date;
   if(splitStr=="")
{
     splitStr="-";//设置默认
}   if (checkInt(strDate))
  {//判斷是否有分隔符
     var s1 = strDate.substring(0, 4) + splitStr;
var s2 = strDate.substring(4, 6) + splitStr;
var s3 = strDate.substring(6, 8);
strDate = s1 + s2 + s3;
//$(element).val(strDate);//如果沒有分隔符,把分隔符插入之後,賦值給文本框,類似於格式化日期
}
return strDate
} //判断是否为整型,在日期格式转换的时候用到
function checkInt(num)
{//验证是否是纯数字,如果是純數字 說明沒有分隔符20141115
  var reg = /^-?\d+$/;//对正则表达式不熟,知道的朋友帮忙解释下"-?"的意思
  if (reg.test(num))
  {
    return true;
  }
  else
  {
    return false;
  }
}
 

js计算日期相差的天数的更多相关文章

  1. js计算日期相差天数

    日期不能直接相加减比较大小,需要转换一下然后计算最后转换成天,当然,你也可以根据同样类似的方法去转换成小时,或者月,年. function DateDiff(sDate1, sDate2) { //s ...

  2. js计算日期相减天数

    代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head ...

  3. js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数

    js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数 >>>>>>>>>>>>>>>>>& ...

  4. 计算两个日期相差的天数 js php日期 减一年

    计算两个日期相差的天数 //sDate1和sDate2是yyyy-MM-dd格式 function dateDiff(sDate1, sDate2) { var aDate, oDate1, oDat ...

  5. Java函数2:计算两个日期相差的天数

    import java.util.Scanner; public class HelloWorld { public static void main(String[] args){ // Scann ...

  6. JAVA 比较两个日期相差的天数

    在实际的应用中,我们经常会比较两个日期相差的天数,下面我们通过java方法判断两个日期所差的额天数. 具体内容,请看下面的代码: package com.jd.jr.fclient.test; imp ...

  7. Java获得日期相差的天数

    文章来源: http://www.jb51.net/article/75551.htm 这篇文章主要介绍了java计算两个时间相差天数的方法,感兴趣的小伙伴们可以参考一下: 问题描述: 输入:两个日期 ...

  8. Java技巧——比较两个日期相差的天数

    Java技巧——比较两个日期相差的天数 摘要:本文主要记录了在Java里面如何判断两个日期相差的天数. 判断两个Date类型的日期之间的天数 通过计算毫秒数判断: public static void ...

  9. Java 计算两个日期相差的天数

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

随机推荐

  1. 笔记之Cyclone IV第一卷第四章Cyclone IV器件中的嵌入式乘法器

    嵌入式乘法器可以配置成一个 18 × 18 乘法器,或者配置成两个 9 × 9 乘法器.对于那些大于18 × 18 的乘法运算 ,Quartus II 软件会将多个嵌入式乘法器模块级联在一起.虽然没有 ...

  2. 如何去掉IE控件的垂直滚动条(使用QAxWidget加载IE控件)

    如果使用MFC的CHtmlView或Qt的QAxWidget加载IE控件,载入html文件后都会自动带一个垂直滚动条,我们不想要这个滚动条,改怎么办呢?搜索了一下“隐藏IE控件滚动条”,发现在 htt ...

  3. scrapy入门

    安装完scrapy后,创建一个新的工程: scrapy startproject tutorial 会创建一个tutorial文件夹有以下的文件: tutorial/ scrapy.cfg tutor ...

  4. Android 改变窗口标题栏的布局

    Android改变窗口标题栏的布局  第一种方式 --在XML文件里面引入配置文件作为标题. 第二种方式  --动态的代码加入进去. 第三种方式(网上的): 一. 重点 一般应用的Title都是建立应 ...

  5. hdu 4736 This Is The Job The Bear Finds(2013年成都ACM网络赛)

    // Time 1718 ms; Memory 1500 K #include<iostream> #include<cstdio> #include<cmath> ...

  6. python下载文件(图片)源码,包含爬网内容(爬url),可保存cookie

    #coding=utf-8 ''' Created on 2013-7-17 @author: zinan.zhang ''' import re import time import httplib ...

  7. 闲扯 Javascript 00

    引言 Javascript  的作用在此就不阐述了,相信你已经知道它的用途!那我说点什么呢? 不如就和大家先扯一把,后面的工作 随后后展开吧! 首先声明:我个人对Javascript 认识,我只知道它 ...

  8. 一个开发原则:永远不要返回NULL

    看一篇文章:10个经典的java开发原则,里面一个原则:永远不要返回NULL. 说实在的,我对这个原则体会不是很深,平时在使用对象前,检查是否为null已经成了习惯,也是我要求开发人员的一个标准动作. ...

  9. [转]Permission denied: /.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

    原文链接:http://blog.csdn.net/dyw/article/details/6612497 近日,在Apache2环境下部署Rails3应用时碰到此错误: Permission den ...

  10. 读书笔记:php_tizag_tutorial

    昨天在实验室花了一天时间看了英文版的php_tizag_tutorial,因为上学期用php和bootstrap写过一个租房网站,对php还是比较熟悉.现在总结一下php_tizag_tutorial ...