`

年月日加上月数返回新的年月日js算法

阅读更多

 

function dateadd(startdate,addmonth){      //startdate:开始时间yyyy-mm-dd.  addmonth为 间隔的月

 

var year=startdate.split("-")[0];

var month=startdate.split("-")[1];

var day=startdate.split("-")[2];

 

var add=parseInt(addmonth);

 

//这段主要是把月和日中的像"01"这样的改成"1"

 

if(month.substr(0,1)==0)

month=month.substr(1,1);

if(day.substr(0,1)==0)

day=day.substr(1,1);

 

 

 

//字符转换成数字

 

year=parseInt(year);

month=parseInt(month);

day=parseInt(day);

 

//计算新的年和月

 

var newmonth=month+add;  //直接把起始的月和间隔相加

year+=parseInt(newmonth/12);  //总月除以12,商加在起始年上,就是终点的年

if(newmonth>=12){            //大于12就说明是新的一年

if(newmonth%12==0){  //这里很有意思,举个例子吧:2011-2-23在10个月后的日期是2011-12-23,就是为了这种情况

year=year-1;

month=12;

}

else

month=parseInt(newmonth%12);

}

else

month+=add;

//计算day

if( month==2 && day>=28) {  //新日期是2月28日以后的情况

if(year%4==0 && year%100!=0)  //闰年

       day=29;

else

       day=28;     //平年

    

}

else{          //新日期是除了2月,日是30日以后的情况

 if(day>=30){

    switch(month){

    case 1:

    case 3:

    case 5:

    case 7:

    case 10:

    case 12:

    day=31;break;

    case 4:

    case 6:

    case 9:

    case 11:

    day=30;break;

    }

  }  

}

 

var enddate=year+"-"+(month.toString().length==1?"0"+month:month)+"-"+(day.toString().length==1?"0"+day:day);  //构造yyyy-mm-dd的格式

return enddate;

}

分享到:
评论

相关推荐

    javascript控制年月日输入

    在JavaScript编程中,控制用户输入的年月日是一项常见的需求,尤其在开发表单验证或者日期选择器时。本文将详细解析如何使用JavaScript实现这一功能,并结合提供的描述和标签,探讨一个自定义的函数以及一个额外的...

    简单实用的年月日JS

    简单实用的年月日JS,年月日,非常好用,只要将其js链接到页面并定义年月日三个SelectBox。

    vue时间插件 中datepicker.js 修改过支持年,年月,年月日的选择

    vue时间插件 中datepicker.js 修改过支持年,年月,年月日的选择

    js获取年月日和当月的天数

    ### JavaScript 获取年月日及当月天数 在JavaScript中,日期对象提供了丰富的API来处理时间与日期。本文将详细介绍如何使用JavaScript获取当前日期的年、月、日以及当月的总天数。 #### 一、JavaScript日期对象...

    js年月日三级联动代码

    总之,"js年月日三级联动代码"是通过JavaScript监听年份选择的改变,动态生成对应的月份和日期选项,以实现日期选择的联动效果。这个功能在许多网页表单中都很常见,对于用户输入日期提供了便利。在实际开发中,我们...

    时间JS年月日星期 农历 时分秒

    很强大的一段JS 显示 年月日星期 农历 时分秒。比平时只有年月日星期时分秒的多了农历。很强大的一段JS 显示 年月日星期 农历 时分秒。比平时只有年月日星期时分秒的多了农历。

    js获取年月日农历24气节

    在给定的标题“js获取年月日农历24气节”和描述“js获取年月日农历、24气节、星期、出行描述”中,我们可以看到这些功能的实现是重点。下面我们将详细探讨如何使用JavaScript实现这些功能。 首先,我们需要了解农历...

    vue日期控件实现可以选择年月或者选择年月日

    在Vue.js框架中,开发一个可以灵活选择年月或年月日的日期控件是一项常见的需求。这个控件应提供用户友好的界面,允许用户轻松地选择特定的时间范围。在这个场景下,我们可以利用Element UI库,它为Vue.js提供了丰富...

    js年月日周时间范围控件

    总的来说,这个JS年月日周时间范围控件利用了JavaScript的Date对象和事件处理机制,为用户提供了一套全面的时间选择工具,包括年、月、日、周和时间,并且允许用户自定义周的起始日。这样的控件在各种需要日期和时间...

    JS时间控件(年月日时分秒)

    在提供的压缩包文件“JS时间控件(年月日时分秒)”中,可能包含了实现上述功能的JavaScript代码文件、CSS样式文件以及示例HTML页面。通过对这些文件的研究,开发者可以学习到如何从头构建一个完整的JavaScript时间...

    Extjs 年月日时分秒组件

    ExtJS是一款强大的JavaScript框架,主要用于构建富客户端应用。在ExtJS中,开发人员可以利用其丰富的组件库来创建各种用户界面元素,包括日期选择器。"Extjs 年月日时分秒组件"是一个特定的插件,允许用户在应用程序...

    年月日选择器js特效.zip

    在这个"年月日选择器js特效.zip"压缩包中,包含了一个基于Backbone.js实现的简单年月日选择器。Backbone.js是一个轻量级的JavaScript库,它为Web应用程序提供模型-视图-控制器(MVC)架构支持,帮助开发者更好地组织...

    Android 年月日 时分秒 控件

    这通常涉及到使用特定的控件来实现“年月日时分秒”选择。在Android SDK中,有一系列的类和方法可以帮助开发者创建这样的界面,让用户体验更加友好。本文将深入探讨如何在Android应用中实现“年月日时分秒”控件。 ...

    js 实现年月日选择

    js 实现年月日下拉选择 包括计算闰年 功能比较全,只是下拉条的高度没有控制

    年月日时分秒选择器.zip

    在开发移动应用或Web应用时,常常需要用户输入特定的时间信息,这时,年月日时分秒选择器就显得尤为重要。本教程将详细介绍如何利用uniapp的pick组件创建一个这样的选择器,并探讨其灵活性和适用性。 首先,uniapp...

    js中获取年月日时分秒

    本文将详细介绍如何在JavaScript中获取和格式化年月日时分秒。 首先,JavaScript中的Date对象是处理日期和时间的核心。当我们需要获取当前时间,我们可以创建一个新的Date实例,例如`new Date()`。这将返回一个表示...

    JS控件显示年月日

    JS控件显示年月日,用于网页时间选择!精确美观,兼容性好!

    微信小程序 -- 年月日时分秒 picker 选择器

    1. **创建组件结构**:首先,建立一个新的`WXML`(微信小程序的结构文件)和`WXSS`(样式文件),以及对应的`JS`(逻辑文件)来封装这个组件。在`WXML`中,你需要定义六个独立的`picker`,分别对应年、月、日、时、...

    计算两个时间的差(年月日星期小时分钟秒).js

    计算两个时间的差(年月日星期小时分钟秒),代码有问题可以留言,我看到就会回复。

    年月日时间选取(移动端)

    "年月日时间选取(移动端)" 是一个专为移动设备设计的组件,旨在提供方便、直观的日期和时间选择功能。这款插件名为 Mdate.js,它为开发者提供了在小型触摸屏幕上进行高效日期和时间输入的解决方案。 Mdate.js ...

Global site tag (gtag.js) - Google Analytics