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实现画板的代码
Sep 05 Javascript
提交表单时执行func方法实现代码
Mar 17 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
Jan 23 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
Oct 08 Javascript
使用jQuery操作HTML的table表格的实例解析
Mar 13 Javascript
JS实现消息来时让网页标题闪动效果的方法
Apr 20 Javascript
Jquery UI实现一次拖拽多个选中的元素操作
Dec 01 Javascript
详解 vue better-scroll滚动插件排坑
Feb 08 Javascript
vue项目引入Iconfont图标库的教程图解
Oct 24 Javascript
JS学习笔记之数组去重实现方法小结
May 29 Javascript
package.json中homepage属性的作用详解
Mar 11 Javascript
Jquery使用each函数实现遍历及数组处理
Jul 14 jQuery
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文件中是否含有bom的函数
2012/05/31 PHP
php实现的RSS生成类实例
2015/04/23 PHP
一实用的实现table排序的Javascript类库
2007/09/12 Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
2010/12/25 Javascript
Jquery读取URL参数小例子
2013/08/30 Javascript
jquery将一个表单序列化为一个对象的方法
2013/12/02 Javascript
js data日期初始化的5种方法
2013/12/29 Javascript
全面解析Bootstrap表单使用方法(表单按钮)
2015/11/24 Javascript
原生JS实现首页进度加载动画
2016/09/14 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
浅析JavaScript中break、continue和return的区别
2016/11/30 Javascript
如何提高Dom访问速度
2017/01/05 Javascript
动态创建Angular组件实现popup弹窗功能
2017/09/15 Javascript
react-native-fs实现文件下载、文本存储的示例代码
2017/09/22 Javascript
JS实现图片放大镜插件详解
2017/11/06 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
2017/12/22 Javascript
原生JS实现的碰撞检测功能示例
2018/05/18 Javascript
总结javascript三元运算符知识点
2018/09/28 Javascript
微信小程序自定义toast组件的方法详解【含动画】
2019/05/11 Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
2020/07/28 Javascript
vue axios请求成功却进入catch的原因分析
2020/09/08 Javascript
[06:04]DOTA2国际邀请赛纪录片:Just For LGD
2013/08/11 DOTA
深入解析Python中的线程同步方法
2016/06/14 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
打包python 加icon 去掉cmd黑窗口方法
2019/06/24 Python
全球知名的婚恋交友网站:Match.com
2017/01/05 全球购物
Styleonme中文网:韩国高档人气品牌
2017/06/21 全球购物
《会变的花树叶》教学反思
2014/02/10 职场文书
党员教师工作决心书
2014/03/13 职场文书
优秀学生评语大全
2014/04/25 职场文书
党员个人整改方案及措施
2014/10/25 职场文书
中学生自我评价范文
2015/03/03 职场文书
幼儿园小班开学寄语
2015/05/27 职场文书
教育读书笔记
2015/07/02 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技