js计算两个时间之间天数差的实例代码


Posted in Javascript onNovember 19, 2013
//判断是否为闰年
function isLeapYear(year){
if(year % 4 == 0 && ((year % 100 != 0) || (year % 400 == 0)))
{
     return true;
}
return false;
}
//判断前后两个日期
function validatePeriod(fyear,fmonth,fday,byear,bmonth,bday){
if(fyear < byear){
return true;
}else if(fyear == byear){
if(fmonth < bmonth){
   return true;
} else if (fmonth == bmonth){
   if(fday <= bday){
    return true;
   }else {
    return false;
   }
} else {
   return false;
}
}else {
return false;
}
}
//计算两个日期的差值
function dateDiff(d1,d2){
    var disNum=compareDate(d1,d2);
    return disNum;
}
function compareDate(date1,date2)
{
    var regexp=/^(\d{1,4})[-|\.]{1}(\d{1,2})[-|\.]{1}(\d{1,2})$/;
    var monthDays=[0,3,0,1,0,1,0,0,1,0,0,1];
    regexp.test(date1);
    var date1Year=RegExp.$1;
    var date1Month=RegExp.$2;
    var date1Day=RegExp.$3;
    regexp.test(date2);
    var date2Year=RegExp.$1;
    var date2Month=RegExp.$2;
    var date2Day=RegExp.$3;
if(validatePeriod(date1Year,date1Month,date1Day,date2Year,date2Month,date2Day)){
firstDate=new Date(date1Year,date1Month,date1Day);
     secondDate=new Date(date2Year,date2Month,date2Day);
     result=Math.floor((secondDate.getTime()-firstDate.getTime())/(1000*3600*24));
     for(j=date1Year;j<=date2Year;j++){
  if(isLeapYear(j)){
      monthDays[1]=2;
  }else{
      monthDays[1]=3;
  }
  for(i=date1Month-1;i<date2Month;i++){
      result=result-monthDays[i];
  }
     }
     return result;
}else{
    alert('对不起第一个时间必须小于第二个时间,谢谢!');
    exit;
}
}

调用该函数传递两个时间值:2013-01-19   2013-12-19

days = dateDiff(d1,d2);

Javascript 相关文章推荐
jquery 表格分页等操作实现代码(pagedown,pageup)
Apr 11 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
Sep 01 Javascript
JS去除空格和换行的正则表达式(推荐)
Jun 14 Javascript
JS仿百度自动下拉框模糊匹配提示
Jul 25 Javascript
网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法
Nov 24 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
Dec 22 Javascript
node.js平台下的mysql数据库配置及连接
Mar 31 Javascript
Vue中组件之间数据的传递的示例代码
Sep 08 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
Nov 28 Javascript
ejsExcel模板在Vue.js项目中的实际运用
Jan 27 Javascript
Angular学习教程之RouterLink花式跳转
May 03 Javascript
vue+axios+promise实际开发用法详解
Oct 15 Javascript
JS获取当前网址、主机地址项目根路径
Nov 19 #Javascript
jquery ajax 简单范例(界面+后台)
Nov 19 #Javascript
javaScript array(数组)使用字符串作为数组下标的方法
Nov 19 #Javascript
简单时间提示DEMO从0开始一直进行计时
Nov 19 #Javascript
鼠标滑在标题上显示图片的JS代码
Nov 19 #Javascript
JS简单实现登陆验证附效果图
Nov 19 #Javascript
JS随机漂浮广告代码具体实例
Nov 19 #Javascript
You might like
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
PHP getDocNamespaces()函数讲解
2019/02/03 PHP
Javascript的匿名函数小结
2009/12/31 Javascript
基于JQuery的一句代码实现表格的简单筛选
2010/07/26 Javascript
Document对象内容集合(比较全)
2010/09/06 Javascript
JavaScript实现将xml转换成html table表格的方法
2015/04/17 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
JS两种类型的表单提交方法实例分析
2016/11/28 Javascript
详解JavaScript中数组的reduce方法
2016/12/02 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
2017/05/02 Javascript
jquery拖动改变div大小
2017/07/04 jQuery
小程序开发基础之view视图容器
2018/08/21 Javascript
浅谈微信页面入口文件被缓存解决方案
2018/09/29 Javascript
JavaScript基于数组实现的栈与队列操作示例
2018/12/22 Javascript
JS中getElementsByClassName与classList兼容性问题解决方案分析
2019/08/07 Javascript
vue 解决computed修改data数据的问题
2019/11/06 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
2019/12/18 Javascript
JS代码检查工具ESLint介绍与使用方法
2020/02/04 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
2020/04/29 Javascript
vue项目接口域名动态获取操作
2020/08/13 Javascript
JS实现炫酷雪花飘落效果
2020/08/19 Javascript
[47:45]Liquid vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python创建对称矩阵的方法示例【基于numpy模块】
2017/10/12 Python
Zookeeper接口kazoo实例解析
2018/01/22 Python
python 限制函数调用次数的实例讲解
2018/04/21 Python
Python定时发送消息的脚本:每天跟你女朋友说晚安
2018/10/21 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
2019/01/23 Python
选择python进行数据分析的理由和优势
2019/06/25 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
西班牙电子产品购物网站:Electronicamente
2018/07/26 全球购物
医师定期考核实施方案
2014/05/07 职场文书
企业文明单位申报材料
2014/05/16 职场文书
高中教师考核方案
2014/05/18 职场文书
遗嘱继承权公证书
2015/01/26 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书
Nginx Rewrite使用场景及配置方法解析
2021/04/01 Servers