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 相关文章推荐
一个判断email合法性的函数[非正则]
Dec 09 Javascript
Confirmer JQuery确认对话框组件
Jun 09 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
Feb 02 Javascript
Javascript拓展String方法小结
Jul 08 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
Jun 20 Javascript
Javascript核心读书有感之语句
Feb 11 Javascript
原生js实现autocomplete插件
Apr 14 Javascript
javascript 用函数实现继承详解
May 28 Javascript
深入理解JavaScript内置函数
Jun 03 Javascript
JavaScript程序中实现继承特性的方式总结
Jun 24 Javascript
JS奇技之利用scroll来监听resize详解
Jun 15 Javascript
vue 父组件通过v-model接收子组件的值的代码
Oct 27 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
德生PL330的评价与改造
2021/03/02 无线电
php 8小时时间差的解决方法小结
2009/12/22 PHP
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
2011/11/10 PHP
php生成静态文件的多种方法分享
2012/07/17 PHP
PHP实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
Zend Framework分页类用法详解
2016/03/22 PHP
php pdo操作数据库示例
2017/03/10 PHP
使用jquery给input和textarea设定ie中的focus
2008/05/29 Javascript
基于jquery的滚动新闻列表
2010/06/19 Javascript
为Extjs加加速(javascript加速)
2010/08/19 Javascript
在javascript中对于DOM的加强
2013/04/11 Javascript
在页面中js获取光标/鼠标的坐标及光标的像素坐标
2013/11/11 Javascript
jquery实现的美女拼图游戏实例
2015/05/04 Javascript
Vue-resource实现ajax请求和跨域请求示例
2017/02/23 Javascript
js绑定事件和解绑事件
2017/04/27 Javascript
Vue+SpringBoot开发V部落博客管理平台
2017/12/27 Javascript
Layui表格行工具事件与数据回填方法
2019/09/13 Javascript
Bootstrap简单实用的表单验证插件BootstrapValidator用法实例详解
2020/03/29 Javascript
javascript利用键盘控制小方块的移动
2020/04/20 Javascript
python实现目录树生成示例
2014/03/28 Python
Python实现的下载8000首儿歌的代码分享
2014/11/21 Python
python使用电子邮件模块smtplib的方法
2016/08/28 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
2018/02/07 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
2019/06/14 Python
python返回数组的索引实例
2019/11/28 Python
Sisley法国希思黎美国官方网站:享誉全球的奢华植物美容品牌
2020/06/27 全球购物
C#笔试题
2015/07/14 面试题
大学生水果店创业计划书
2014/01/28 职场文书
如何撰写一封出色的求职信
2014/04/27 职场文书
施工质量承诺书范文
2014/05/30 职场文书
2014年秋季开学典礼致辞
2014/08/02 职场文书
群众路线教育实践活动对照检查材料
2014/09/22 职场文书
2016年习总书记讲话学习心得体会
2016/01/20 职场文书
mysql left join快速转inner join的过程
2021/06/30 MySQL
Java网络编程之UDP实现原理解析
2021/09/04 Java/Android