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的三种bind/One/Live事件绑定使用方法
Dec 30 Javascript
利用JavaScript检测CPU使用率自己写的
Mar 22 Javascript
jQuery中each()方法用法实例
Dec 27 Javascript
深入浅析JS Function()构造函数
Aug 22 Javascript
基于JavaScript实现的插入排序算法分析
Apr 14 Javascript
ionic2自定义cordova插件开发以及使用(Android)
Jun 19 Javascript
Vue之Watcher源码解析(1)
Jul 19 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
May 28 Javascript
解决Vue使用swiper动态加载数据,动态轮播数据显示白屏的问题
Sep 27 Javascript
Vue开发之封装上传文件组件与用法示例
Apr 25 Javascript
Angular8路由守卫原理和使用方法
Aug 29 Javascript
vue2.x数组劫持原理的实现
Apr 19 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
PHP测试程序运行时间的类
2012/02/05 PHP
php调用mysql存储过程实例分析
2014/12/29 PHP
PHP实现WebService的简单示例和实现步骤
2015/03/27 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
PHP的关于变量和日期处理的一些面试题目整理
2015/08/10 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
详谈PHP面向对象中常用的关键字和魔术方法
2017/02/04 PHP
php 使用html5 XHR2实现上传文件与进度显示功能示例
2020/03/03 PHP
javascript 表单验证常见正则
2009/09/28 Javascript
Js 中debug方式
2010/02/07 Javascript
JavaScript中的this关键字介绍与使用实例
2013/06/21 Javascript
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
Nodejs进阶:核心模块net入门学习与实例讲解
2016/11/21 NodeJs
基于NodeJS+MongoDB+AngularJS+Bootstrap开发书店案例分析
2017/01/12 NodeJs
vue2.0实战之使用vue-cli搭建项目(2)
2017/03/27 Javascript
jquery中each循环的简单回滚操作
2017/05/05 jQuery
使用nvm管理不同版本的node与npm的方法
2017/10/31 Javascript
Vue infinite update loop的问题解决
2019/04/23 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
javascript中的with语句学习笔记及用法
2020/02/17 Javascript
vue路由跳转传递参数的方式总结
2020/05/10 Javascript
Python单链表的简单实现方法
2014/09/23 Python
python将ansible配置转为json格式实例代码
2017/05/15 Python
Python进度条实时显示处理进度的示例代码
2018/01/30 Python
使用python编写udp协议的ping程序方法
2018/04/22 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
python 匿名函数与三元运算学习笔记
2020/10/23 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
html5实现的便签特效(实战分享)
2013/11/29 HTML / CSS
Yankee Candle官网:美国最畅销蜡烛品牌之一
2020/01/05 全球购物
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
Java语言程序设计测试题选择题部分
2014/04/03 面试题
幼儿园亲子活动方案
2014/01/29 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书
2015年小学教师培训工作总结
2015/07/21 职场文书
JVM钩子函数的使用场景详解
2021/08/23 Java/Android