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异步表单提交,图片上传,兼容异步模拟ajax技术
May 10 Javascript
Javascript匿名函数的一种应用 代码封装
Jun 27 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
Jan 09 Javascript
详解JS 比较两个Json对象的值是否相等的实例
Nov 20 Javascript
搭建pomelo 开发环境
Jun 24 Javascript
ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
Sep 06 Javascript
基于jQuery实现火焰灯效果导航菜单
Jan 04 Javascript
bootstrap table实例详解
Jan 06 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
May 05 Javascript
Vue Element UI + OSS实现上传文件功能
Jul 31 Javascript
浅析JS中NEW的实现原理及重写
Feb 20 Javascript
微信小程序动态添加和删除组件的现实
Feb 28 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反射机制用法实例
2014/08/28 PHP
Yii2中cookie用法示例分析
2016/07/18 PHP
Laravel框架实现的上传图片到七牛功能详解
2019/09/06 PHP
ExtJS 简介 让你知道extjs是什么
2008/12/29 Javascript
60个很实用的jQuery代码开发技巧收集
2014/12/15 Javascript
Jquery 实现checkbox全选方法
2015/01/28 Javascript
JavaScript脚本判断蜘蛛来源的方法
2015/09/22 Javascript
详解jQuery中的empty、remove和detach
2016/04/11 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
省市区三级联动jquery实现代码
2020/04/15 Javascript
AngularJS自定义指令之复制指令实现方法
2017/05/18 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
微信小程序版翻牌小游戏
2018/01/26 Javascript
vue中如何去掉空格的方法实现
2018/11/09 Javascript
Vue 指令实现按钮级别权限管理功能
2019/04/23 Javascript
vue.js实现数据库的JSON数据输出渲染到html页面功能示例
2019/08/03 Javascript
VUE.CLI4.0配置多页面入口的实现
2019/11/25 Javascript
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
Python创建对称矩阵的方法示例【基于numpy模块】
2017/10/12 Python
python读取xlsx的方法
2018/12/25 Python
python for 循环获取index索引的方法
2019/02/01 Python
Python父目录、子目录的相互调用方法
2019/02/16 Python
Python list与NumPy array 区分详解
2019/11/06 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
如何做好总经理助理
2013/11/12 职场文书
年会搞笑主持词串词
2014/03/24 职场文书
学雷锋演讲稿汇总
2014/05/10 职场文书
班级出游活动计划书
2014/08/15 职场文书
节能环保家庭事迹材料
2014/08/27 职场文书
向国旗敬礼活动总结
2014/09/27 职场文书
委托培训协议书
2014/11/17 职场文书
领导干部学习心得体会
2016/01/23 职场文书
关于销售人员的年终工作总结要点
2019/08/15 职场文书
浅析Redis Sentinel 与 Redis Cluster
2021/06/24 Redis
解决Git推送错误non-fast-forward的方法
2022/06/25 Servers