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 相关文章推荐
IE6-IE9不支持table.innerHTML的解决方法分享
Sep 14 Javascript
js判断样式className同时增加class或删除class
Jan 30 Javascript
jquery 无限级下拉菜单的简单实现代码
Feb 21 Javascript
JQuery表单验证插件EasyValidator用法分析
Nov 15 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖放商品放置购物车
Nov 30 Javascript
JavaScript的函数式编程基础指南
Mar 19 Javascript
微信小程序前端源码逻辑和工作流
Sep 25 Javascript
JavaScript中cookie工具函数封装的示例代码
Oct 11 Javascript
JS实现的简单轮播图运动效果示例
Dec 22 Javascript
微信小程序 实战程序简易新闻的制作
Jan 09 Javascript
Thinkjs3新手入门之添加一个新的页面
Dec 06 Javascript
Vue的列表之渲染,排序,过滤详解
Feb 24 Vue.js
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 生成WML页面方法详解
2009/08/09 PHP
thinkPHP框架实现的无限回复评论功能示例
2018/06/09 PHP
PHP 实现重载
2021/03/09 PHP
项目实践之javascript技巧
2007/12/06 Javascript
input、button的不同type值在ajax提交表单时导致的陷阱
2009/02/24 Javascript
jQuery 使用手册(四)
2009/09/23 Javascript
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
微信小程序实现简单表格
2019/02/14 Javascript
详解javascript中的Error对象
2019/04/25 Javascript
[04:56]经典回顾:前Ehome 与 前LGD
2015/02/26 DOTA
[52:52]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第三局
2016/02/27 DOTA
Python装饰器的函数式编程详解
2015/02/27 Python
python查找目录下指定扩展名的文件实例
2015/04/01 Python
python基础知识小结之集合
2015/11/25 Python
浅谈Python Opencv中gamma变换的使用详解
2018/04/02 Python
关于python2 csv写入空白行的问题
2018/06/22 Python
django 外键model的互相读取方法
2018/12/15 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
2019/02/19 Python
django之使用celery-把耗时程序放到celery里面执行的方法
2019/07/12 Python
python re.sub()替换正则的匹配内容方法
2019/07/22 Python
HTML5实现页面切换激活的PageVisibility API使用初探
2016/05/13 HTML / CSS
介绍一下Python中webbrowser的用法
2013/05/07 面试题
Java面试题汇总
2015/12/06 面试题
开业庆典邀请函
2014/01/08 职场文书
《长江之歌》教学反思
2014/04/17 职场文书
2014年国庆节活动总结
2014/08/26 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书
我是特种兵观后感
2015/06/11 职场文书
聘任通知书
2015/09/21 职场文书
初一语文教学反思
2016/03/03 职场文书
八年级作文之友谊
2019/12/02 职场文书
opencv深入浅出了解机器学习和深度学习
2022/03/17 Python
js前端面试常见浏览器缓存强缓存及协商缓存实例
2022/06/21 Javascript
Android基础入门之dataBinding的简单使用教程
2022/06/21 Java/Android