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 相关文章推荐
jquery实现简易的移动端验证表单
Nov 08 Javascript
js多功能分页组件layPage使用方法详解
May 19 Javascript
Web程序员必备的7个JavaScript函数
Jun 14 Javascript
JS中sort函数排序用法实例分析
Jun 16 Javascript
ES6所改良的javascript“缺陷”问题
Aug 23 Javascript
源码分析Vue.js的监听实现教程
Apr 23 Javascript
js is_valid_filename验证文件名的函数
Jul 19 Javascript
微信小程序获取循环元素id以及wx.login登录操作
Aug 17 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
Oct 26 Javascript
Javascript实现简易天数计算器
May 18 Javascript
vue-router之解决addRoutes使用遇到的坑
Jul 19 Javascript
浅谈vue 多个变量同时赋相同值互相影响
Aug 05 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
javascript 全等号运算符使用说明
2010/05/31 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
js 绑定键盘鼠标事件示例代码
2014/02/12 Javascript
JavaScript截取字符串的2个函数介绍
2014/08/27 Javascript
JavaScript版的TwoQueues缓存模型
2014/12/29 Javascript
JavaScript严格模式详解
2015/11/18 Javascript
简单实现JS对dom操作封装
2015/12/02 Javascript
JQuery标签页效果实例详解
2015/12/24 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
EasyUI 结合JS导出Excel文件的实现方法
2016/11/10 Javascript
vue.js学习之递归组件
2016/12/13 Javascript
Node.js数据库操作之连接MySQL数据库(一)
2017/03/04 Javascript
关于axios返回空对象的问题解决
2017/04/04 Javascript
jQuery中的类名选择器(.class)用法简单示例
2018/05/14 jQuery
9个JavaScript日常开发小技巧
2020/10/06 Javascript
[54:15]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第二场2月1日
2021/03/11 DOTA
把项目从Python2.x移植到Python3.x的经验总结
2015/04/20 Python
Python模拟随机游走图形效果示例
2018/02/06 Python
OpenCV+python手势识别框架和实例讲解
2018/08/03 Python
详解python执行shell脚本创建用户及相关操作
2019/04/11 Python
python面向对象法实现图书管理系统
2019/04/19 Python
Pytorch中的variable, tensor与numpy相互转化的方法
2019/10/10 Python
通过Canvas及File API缩放并上传图片完整示例
2013/08/08 HTML / CSS
有关HTML5中背景音乐的自动播放功能
2017/10/16 HTML / CSS
有趣的睡衣和礼物:LazyOne
2019/11/27 全球购物
全球工业:Global Industrial
2020/02/01 全球购物
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
贯彻学习两会心得体会范文
2014/03/17 职场文书
妇女工作先进事迹
2014/08/17 职场文书
中国文明网向国旗敬礼活动精彩寄语2014
2014/09/27 职场文书
在职证明格式样本
2015/06/15 职场文书
安全教育第一课观后感
2015/06/17 职场文书
Python turtle实现贪吃蛇游戏
2021/06/18 Python
mysql主从复制的实现步骤
2021/10/24 MySQL
php png失真的原因及解决办法
2021/11/17 PHP
Python使用华为API为图像设置多个锚点标签
2022/04/12 Python