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插件之自动添加删除行的实现
Oct 13 Javascript
推荐17个优美新鲜的jQuery的工具提示插件
Sep 14 Javascript
JavaScript与DOM组合动态创建表格实例
Dec 23 Javascript
jquery实现弹出层完美居中效果
Mar 03 Javascript
js实现同一个页面多个渐变效果的方法
Apr 10 Javascript
js文本框走动跑马灯效果代码分享
Aug 25 Javascript
javascript的几种写法总结
Sep 30 Javascript
JavaScript注册时密码强度校验代码
Jun 30 Javascript
AngularJS实现注册表单验证功能
Oct 16 Javascript
javascript变量提升和闭包理解
Mar 12 Javascript
重学 JS:为啥 await 不能用在 forEach 中详解
Apr 15 Javascript
微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析
May 03 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大量数据的时候内存占用分析
2011/07/22 PHP
PHP用SAX解析XML的实现代码与问题分析
2011/08/22 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
2012/05/07 PHP
php计划任务之ignore_user_abort函数实现方法
2015/01/08 PHP
php中get_cfg_var()和ini_get()的用法及区别
2015/03/04 PHP
Yii多表联合查询操作详解
2016/06/02 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
jQuery实现 注册时选择阅读条款 左右移动
2013/04/11 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
2013/09/03 Javascript
一个CSS+jQuery实现的放大缩小动画效果
2014/02/19 Javascript
js实现ifram取父窗口URL地址的方法
2015/02/09 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
微信小程序 图片绝对定位(背景图片)
2017/04/05 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
2017/11/06 Javascript
JS实现小球的弹性碰撞效果
2017/11/11 Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
2018/04/28 Javascript
详解在vue-test-utils中mock全局对象
2018/11/07 Javascript
ES6实现图片切换特效代码
2020/01/14 Javascript
python实现dnspod自动更新dns解析的方法
2014/02/14 Python
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
Python实现接受任意个数参数的函数方法
2018/04/21 Python
python图形开发GUI库wxpython使用方法详解
2020/02/14 Python
python如何求圆的面积
2020/07/01 Python
基于logstash实现日志文件同步elasticsearch
2020/08/06 Python
浅谈如何使用python抓取网页中的动态数据实现
2020/08/17 Python
python脚本第一行如何写
2020/08/30 Python
html5使用canvas实现弹幕功能示例
2017/09/11 HTML / CSS
美国著名的家居用品购物网站:Bed Bath & Beyond
2018/01/05 全球购物
PHP笔试题
2012/02/22 面试题
土建资料员岗位职责
2014/01/04 职场文书
加拿大探亲邀请信
2014/01/28 职场文书
综艺节目策划方案
2014/06/13 职场文书
2014社会治安综合治理工作总结
2014/12/04 职场文书
员工升职自我评价
2019/03/26 职场文书