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 相关文章推荐
js/jquery获取文本框输入焦点的方法
Mar 04 Javascript
PhotoShop给图片自动添加边框及EXIF信息的JS脚本
Feb 15 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
Aug 28 Javascript
AngularJS中的指令全面解析(必看)
May 20 Javascript
Ionic 2 实现列表滑动删除按钮的方法
Jan 22 Javascript
jQuery实现简单弹窗遮罩效果
Feb 27 Javascript
vue-ajax小封装实例
Sep 18 Javascript
深入理解React高阶组件
Sep 28 Javascript
详解用Node.js写一个简单的命令行工具
Mar 01 Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
Aug 22 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
Nov 01 Javascript
Vue入门之数量加减运算操作示例
Dec 11 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执行批量mysql语句的解决方法
2013/05/02 PHP
使用php统计字符串中中英文字符的个数
2013/06/23 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
2015/12/22 PHP
PHP验证码生成原理和实现
2016/01/24 PHP
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
看了就知道什么是JSON
2007/12/09 Javascript
Jquery作者John Resig自己封装的javascript 常用函数
2009/11/09 Javascript
javascript cookie操作类的实现代码小结附使用方法
2010/06/02 Javascript
jQueryUI的Dialog的简单封装
2010/06/07 Javascript
基于jquery的滑动样例代码
2010/11/20 Javascript
基于jQuery的公告无限循环滚动实现代码
2012/05/11 Javascript
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
javascript实现的一个带下拉框功能的文本框
2014/05/08 Javascript
js style动态设置table高度
2014/10/21 Javascript
jquery实现无限分级横向导航菜单的方法
2015/03/12 Javascript
JS检测数组类型的方法小结
2017/03/14 Javascript
基于React实现表单数据的添加和删除详解
2017/03/14 Javascript
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
Fetch超时设置与终止请求详解
2019/05/18 Javascript
vue3 源码解读之 time slicing的使用方法
2019/10/31 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
2020/04/27 Javascript
Python中的CURL PycURL使用例子
2014/06/01 Python
Python去除列表中重复元素的方法
2015/03/20 Python
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
利用Python读取文件的四种不同方法比对
2017/05/18 Python
教你用一行Python代码实现并行任务(附代码)
2018/02/02 Python
pyqt5实现登录界面的模板
2020/05/30 Python
详解Python连接MySQL数据库的多种方式
2019/04/16 Python
Python 读取串口数据,动态绘图的示例
2019/07/02 Python
皮肤科医师岗位职责
2013/12/04 职场文书
考试作弊被抓检讨书
2014/01/10 职场文书
金融事务专业毕业生求职信
2014/02/23 职场文书
绿色学校实施方案
2014/03/31 职场文书
地球物理学专业推荐信
2014/09/08 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书