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 相关文章推荐
关于Blog顶部的滚动导航条代码
Sep 25 Javascript
jQuery学习笔记之DOM对象和jQuery对象
Dec 22 Javascript
类似于QQ的右滑删除效果的实现方法
Oct 16 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
Oct 28 Javascript
详解VueJs前后端分离跨域问题
May 24 Javascript
微信小程序 功能函数小结(手机号验证*、密码验证*、获取验证码*)
Dec 08 Javascript
JS+php后台实现文件上传功能详解
Mar 02 Javascript
vue动画效果实现方法示例
Mar 18 Javascript
小程序简单两栏瀑布流效果的实现
Dec 18 Javascript
vue使用echarts实现水平柱形图实例
Sep 09 Javascript
vue实现广告栏上下滚动效果
Nov 26 Vue.js
解决Vue+SpringBoot+Shiro跨域问题
Jun 09 Vue.js
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优化及注意事项
2016/07/04 PHP
Javascript valueOf 使用方法
2008/12/28 Javascript
js模拟类继承小例子
2010/07/17 Javascript
JavaScript中使用构造函数实现继承的代码
2010/08/12 Javascript
js解析与序列化json数据(一)json.stringify()的基本用法
2013/02/01 Javascript
基于OO的动画附加插件,可以实现弹跳、渐隐等动画效果 分享
2013/06/24 Javascript
nodejs分页类代码分享
2014/06/17 NodeJs
JS实现带圆弧背景渐变效果的导航菜单代码
2015/10/13 Javascript
跟我学习javascript的this关键字
2020/05/28 Javascript
jQuery Easyui实现左右布局
2016/01/26 Javascript
JavaScript实现图片瀑布流和底部刷新
2017/01/02 Javascript
js实现简单的计算器功能
2017/01/16 Javascript
纯js的右下角弹窗实例
2017/03/12 Javascript
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
2018/04/26 Javascript
js中arguments对象的深入理解
2019/05/14 Javascript
es6中Promise 对象基本功能与用法实例分析
2020/02/23 Javascript
pyqt4教程之实现windows窗口小示例分享
2014/03/07 Python
简单介绍Python的Tornado框架中的协程异步实现原理
2015/04/23 Python
整理Python最基本的操作字典的方法
2015/04/24 Python
Python入门_浅谈逻辑判断与运算符
2017/05/16 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
2020/06/24 Python
让Python脚本暂停执行的几种方法(小结)
2019/07/11 Python
Django rstful登陆认证并检查session是否过期代码实例
2019/08/13 Python
python批量解压zip文件的方法
2019/08/20 Python
Pytorch实现神经网络的分类方式
2020/01/08 Python
html5+CSS3+JS实现七夕言情功能代码
2017/08/28 HTML / CSS
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
保安拾金不昧表扬信
2014/01/15 职场文书
说明书格式及范文
2014/05/07 职场文书
人事任命书怎么写
2014/06/05 职场文书
计划生育工作汇报
2014/10/28 职场文书
2015年国际护士节演讲稿
2015/03/18 职场文书
运动会通讯稿50字
2015/07/20 职场文书
治庸问责工作总结
2015/08/11 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript
MySQ InnoDB和MyISAM存储引擎介绍
2022/04/26 MySQL