JavaScript实现给定时间相加天数的方法


Posted in Javascript onJanuary 25, 2016

本文实例讲述了JavaScript实现给定时间相加天数的方法。分享给大家供大家参考,具体如下:

/**
* 时间相加处理函数
* @param date 需要计算的时间(xxxx-xx-xx)
* @param plusDays 要加的天数(整数)
*/
function calcuDate(date, plusDays) {
  var dateArray = date.split("-");
  var year = +dateArray[0];
  var month = +dateArray[1];
  var day = +dateArray[2];
  var oriDay = day;
  var secondMonthDays = ((year%4 === 0 && year%100 !== 0) || year%400 === 0) ? 29 : 28;
  while(plusDays>0) {
    oriDay = day
    day += plusDays;
    switch(month) {
      case 4:
      case 6:
      case 9:
      case 11:
        if(day > 30) {
          plusDays -= (30-oriDay)+1;
          month++;
          day = 1;
        } else {
          plusDays = 0;
        }
      break;
      case 2:
        if(day > secondMonthDays) {
          plusDays -= (secondMonthDays-oriDay)+1;
          month++;
          day = 1;
        } else {
          plusDays = 0;
        }
      break;
      default:
        if(day > 31) {
          plusDays -= (31-oriDay)+1;
          day = 1;
          month++;
        } else {
          plusDays = 0;
        }
    }
    if(month>12) {
      month = 1;
      year++;
    }
  }
  return createTimeString(year, month, day);
}

当然,除了这种方式之外,还有其他的,类似于new Date传参之类的解决方案,这也算是一种吧

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
图片格式的JavaScript和CSS速查手册
Aug 20 Javascript
用JavaScript编写COM组件的步骤
Mar 17 Javascript
jQuery对象与DOM对象之间的转换方法
Apr 15 Javascript
IE6背景图片不缓存问题解决方案及图片使用策略多个方法小结
May 14 Javascript
JS实现的5级联动Select下拉选择框实例
Aug 17 Javascript
浅析js中substring和substr的方法
Nov 09 Javascript
React组件中的this的具体使用
Feb 28 Javascript
Vue 中mixin 的用法详解
Apr 23 Javascript
jQuery设置下拉框显示与隐藏效果的方法分析
Sep 15 jQuery
三步实现ionic3点击退出app程序
Sep 17 Javascript
Vue实现简单的拖拽效果
Aug 25 Javascript
AJAX实现指定部分页面刷新效果
Oct 16 Javascript
jQuery中inArray方法注意事项分析
Jan 25 #Javascript
jquery ui dialog替代confirm实例分析
Jan 25 #Javascript
AngularJS控制器controller正确的通信的方法
Jan 25 #Javascript
AngularJS入门心得之directive和controller通信过程
Jan 25 #Javascript
详解jquery事件delegate()的使用方法
Jan 25 #Javascript
AngularJS中的Directive实现延迟加载
Jan 25 #Javascript
AngularJS中的Directive自定义一个表格
Jan 25 #Javascript
You might like
PHP模拟SQL Server的两个日期处理函数
2006/10/09 PHP
php中fsockopen用法实例
2015/01/05 PHP
Nginx实现反向代理
2017/09/20 Servers
Javascript 面向对象特性
2009/12/28 Javascript
window.name代替cookie的实现代码
2010/11/28 Javascript
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
常用的JavaScript验证正则表达式汇总
2013/11/26 Javascript
JQuery.get提交页面不跳转的解决方法
2015/01/13 Javascript
javascript实现链接单选效果的方法
2015/05/13 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
2016/06/28 Javascript
javaScript如何跳出多重循环break、continue
2016/09/01 Javascript
JS实现二叉查找树的建立以及一些遍历方法实现
2017/04/17 Javascript
underscore之Collections_动力节点Java学院整理
2017/07/10 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
详解nvm管理多版本node踩坑
2019/07/26 Javascript
Vue3 中的数据侦测的实现
2019/10/09 Javascript
Vue3.0 响应式系统源码逐行分析讲解
2019/10/14 Javascript
npx create-react-app xxx创建项目报错的解决办法
2020/02/17 Javascript
关于element的表单组件整理笔记
2021/02/05 Javascript
[01:36]极致酷炫!TI9典藏宝瓶+撼地者至宝展示
2019/06/11 DOTA
在漏洞利用Python代码真的很爽
2007/08/26 Python
Python使用wxPython实现计算器
2018/01/30 Python
Python参数类型以及常见的坑详解
2019/07/08 Python
python调用webservice接口的实现
2019/07/12 Python
Python中的全局变量如何理解
2020/06/04 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
2020/07/07 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
检测用户浏览器是否支持CSS3的方法
2009/08/29 HTML / CSS
JINS眼镜官方网站:日本最大的眼镜邮购
2016/10/14 全球购物
世界领先的艺术图书出版社:TASCHEN
2018/07/23 全球购物
平面设计师的工作职责
2013/11/21 职场文书
企业给企业的表扬信
2014/01/13 职场文书
高二美术教学反思
2014/01/14 职场文书
销售简历自我评价怎么写
2014/09/26 职场文书
2014年物资管理工作总结
2014/12/02 职场文书