如何使用javascript(而不是JQuery)在给定日期获得下个月的同一天

如何使用javascript(而不是JQuery)在给定日期获得下个月的同一天,javascript,Javascript,我目前正在进行日历预订工作,如果客户预订了每月但第一天当天的活动,那么我将根据开始预订日期在下个月的同一天标记日历。详情请参阅下文: 例如: 给定日期=2018年9月18日(第三个星期二)(开始预订日期) 预期输出日期: -(2018-10-16)(第三个星期二) -(2018-11-20)(第三个星期二) 有什么想法吗?提前感谢编辑: 将此项添加到项目中一次: Date.prototype.AddMonth = function (i) {var dy=this.getDay(); this.

我目前正在进行日历预订工作,如果客户预订了每月但第一天当天的活动,那么我将根据开始预订日期在下个月的同一天标记日历。详情请参阅下文:

例如: 给定日期=2018年9月18日(第三个星期二)(开始预订日期) 预期输出日期: -(2018-10-16)(第三个星期二) -(2018-11-20)(第三个星期二)


有什么想法吗?提前感谢

编辑:

将此项添加到项目中一次:

Date.prototype.AddMonth = function (i) {var dy=this.getDay(); this.setMonth(this.getMonth() + i * 1); this.setDate(this.getDate() - (this.getDay()-dy)); return this; };
现在,在任何地方都可以使用它:

(new Date()/*your date*/).AddMonth(1/*MonthCount*/);

新方法(使用函数):

如果不想使用prototype,请尝试以下方法:

function AddMonth(date, i) {var dy=date.getDay(); date.setMonth(date.getMonth() + i * 1); date.setDate(date.getDate() - (date.getDay()-dy)); return date; };
用法:

AddMonth(new Date("2018/09/18"), 1);

看起来你想让我们为你写些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只在海报已经试图自己解决问题时才提供帮助。演示这项工作的一个好方法是包括您迄今为止编写的代码、示例输入(如果有)、预期输出和实际获得的输出(控制台输出、回溯等)。你提供的细节越多,你可能得到的答案就越多。检查和。我投票结束这个问题,因为它没有显示任何努力。如果没有这样的日期怎么办?例如,今年二月没有第五个星期三,尽管一月有。不完整的工作规范…很抱歉,如果您发现这个主题偏离主题或没有付出努力。我只是想知道些什么。几个小时来一直试图解决这个问题,但仍然没有给我正确的道路。我请求你帮个忙,请不要关闭这个帖子。如果您有任何想法,我们将不胜感激。举个例子,向我们展示您的尝试。这里有一个在JSOP中处理日期的例子。这并不是Op想要的,他想要从本月的第三个星期一到下个月的第三个星期一。不从本月3日到下个月3日month@jonatjano谢谢你救了我。。真的非常感谢@Tony我刚刚审阅了它,Hassandeghi完成了所有工作(我仍然不知道它是如何工作的:/)@Hassandeghi即使它能工作,修改原型仍然是一个坏主意你不需要使用原型。您可以将其用作一个简单的函数。但是,谢谢你的诚实@jonatjano。