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获取页面元素的具体位置
Dec 09 Javascript
js面向对象编程之如何实现方法重载
Jul 02 Javascript
window.print打印指定div指定网页指定区域的方法
Aug 04 Javascript
Javascript中的五种数据类型详解
Dec 26 Javascript
js正则表达式中exec用法实例
Jul 23 Javascript
jQuery判断浏览器并动态调整select宽度的方法
Mar 02 Javascript
基于jQuery Ajax实现上传文件
Mar 24 Javascript
利用Node.js制作爬取大众点评的爬虫
Sep 22 Javascript
jQuery联动日历的实例解析
Dec 02 Javascript
vue2 前端搜索实现示例
Feb 26 Javascript
uni-app如何实现增量更新功能
Jan 03 Javascript
node.JS二进制操作模块buffer对象使用方法详解
Feb 06 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/19 PHP
PHP 实现类似js中alert() 提示框
2015/03/18 PHP
删除select中所有option选项jquery代码
2013/08/12 Javascript
仿百度的关键词匹配搜索示例
2013/09/25 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
JavaScript参数个数可变的函数举例说明
2014/10/10 Javascript
jquery专业的导航菜单特效代码分享
2015/08/29 Javascript
jQuery实现简易的天天爱消除小游戏
2015/10/16 Javascript
Javascript基础知识盲点总结之函数
2016/05/15 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
2016/09/18 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
JS实现的视频弹幕效果示例
2018/08/17 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
2018/09/18 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
详解Vue3.0 前的 TypeScript 最佳入门实践
2019/06/18 Javascript
解决新建一个vue项目过程中遇到的问题
2020/10/22 Javascript
python代理工具mitmproxy使用指南
2019/07/04 Python
python实现静态服务器
2019/09/05 Python
Python 实现自动导入缺失的库
2019/10/29 Python
python基于opencv检测程序运行效率
2019/12/28 Python
tensorflow使用range_input_producer多线程读取数据实例
2020/01/20 Python
关于keras中keras.layers.merge的用法说明
2020/05/23 Python
python 利用百度API识别图片文字(多线程版)
2020/12/14 Python
美国现代家具网站:Design Within Reach
2018/07/19 全球购物
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
国际政治学专业推荐信
2014/09/26 职场文书
财务个人年度总结范文
2015/02/26 职场文书
督导岗位职责范本
2015/04/10 职场文书
博物馆观后感
2015/06/05 职场文书
学生病假条范文
2015/08/17 职场文书
2016优秀青年志愿者事迹材料
2016/02/25 职场文书
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python
Redis基本数据类型哈希Hash常用操作命令
2022/06/01 Redis
Python测试框架pytest核心库pluggy详解
2022/08/05 Golang