通过使用以下代码,IAM将今天的日期增加了6个月。

var d = new Date();
        var curr_date = d.getDate();
        var curr_month = d.getMonth() + 7; //Months are zero based
        if(curr_month<10){
            curr_month = "0"+curr_month;
        }
        if(curr_date<10){
            curr_date = '0'+curr_date;
        }
        var curr_year = d.getFullYear();
        $scope.vmEndDate = curr_year + "/" + curr_month + "/" + curr_date;

当我打印$ scope.vmEndDate值时,Iam得到2015/09/31,但是在9月31日不存在。 如何获得正确的价值。

#1楼 票数:2

您可以直接使用月份处理日期:

var today = new Date(2015,03,31)
today.setMonth(today.getMonth()+6)
console.log(today.toLocaleDateString())

如果要获取有效日期但在9月, 请https://stackoverflow.com/a/11469976/4682796

#2楼 票数:0

在javascript世界中,月份从零开始! 对我来说有点奇怪。 无论如何,到目前为止添加7并不是9月,而是7是10月。

所以这意味着你的代码是正确的

只是改变

var curr_month = d.getMonth() + 7; //Months are zero based

var curr_month = d.getMonth() + 6; //Months are zero based

#3楼 票数:0

遵循以下代码段可能会有所帮助。

var d = new Date();
var curr_date = new Date(d.getFullYear(), d.getMonth() + 6, d.getDate());
console.log(curr_date.getFullYear() + "/" +
((curr_date.getMonth() + 1).toString().length == 1 ? '0' + 
(curr_date.getMonth() + 1) : (curr_date.getMonth() + 1)) + "/" +
(curr_date.getDate().toString().length == 1 ? '0' + 
(curr_date.getDate()) : (curr_date.getDate())));
}

#4楼 票数:0

使用这个问题的代码,可以解决以下问题。 您首先获得今天的日期,将其日期更改为first( 或在1到28的所有月份都有效的任何数字 ),然后提前六个月,然后将日期设置为该月的最后一天。

function daysInMonth(month, year)
{
    return 32 - new Date(year, month, 32).getDate();
}

var today = new Date()
today.setDate(1)
today.setMonth(today.getMonth()+6)
today.setDate(daysInMonth(today.getMonth(), today.getDate()))

  ask by Lakshmi translate from so

未解决问题?本站智能推荐:

5回复

如何使用Javascript AngularJS打印一个月的所有日期

我想显示给定月份的所有日期。 假设,如果我选择2015年10月,那么它将在列表中显示该月的所有日期。 我可以使用setDate()打印下一个365天的所有日期,但是如何只打印选定月份的日期。 检查此代码以显示未来365天。 function Ctrl($scope) { $
1回复

验证一个月的最后日期

我有两个函数来计算用户输入的月份的最后日期 但是,在运行时,当我将月份选择为7并将日期选择为24时,传递给isLastDayOfMonth函数的实际值是alert("Inside isLastDayOfMonth, the date is " + date ); 为6且alert("I
2回复

Angular.js日期过滤器显示提前一个月?

因此,查看文档,我看不到如何轻松添加下个月的内容: 似乎我应该能够添加(+)或(-)来实现这一点。 因此,如果基于今天的日期,通常会显示“ 9月”,但我希望它读取该日期并显示下个月。 我在这里想念什么? 非常感谢。
2回复

angularJS显示+1个月的日期

这是代码: 和html: 但是angularJS将此日期显示为01/08/2016 ,但我不知道为什么它显示+1个月我错过了什么?
1回复

检查所选日期值是否比今天的日期大至少一个月

我正在尝试编写一个函数来检查输入类型月份标签中的选定日期是否比当前日期大至少一个月。 但是当我比较这些值时,我的功能不起作用,因为它正在比较错误的数字。 这是我尝试过的: 这是我的日期选择器: 但问题是,当我使用它来获取日期时: 我怎样才能解决这个问题?
2回复

Javascript函数,需要一个月/日期,最多显示12个月/日期

是否有任何使用一个输入参数(eg 04/2014 )并以相同格式返回12个月和日期的javascript函数 ( eg 04/2013 ................................... 04/2014 ) 我有这个 我的逻辑是这样。但是它只给我一个月的时
1回复

如何隐藏过去一个月的减量按钮?

上个月的按钮应该用ng-show="isPastMonth(calendarDate)"隐藏到当前月份的上个月。 angular-bootstrap-calendar中是否有任何选项可以隐藏过去几个月的decrement="calendarView" ? 演示: http : //
2回复

在JavaScript中添加一个月到一个日期

我有一个输入字段,需要使用JavaScript Date对象增加一个月。 下面是我在增加月份方面所做的努力的一个例子。 这个问题似乎是它将0显示为1月并且不会增加年份。