gpt4 book ai didi

javascript - 如何添加迄今为止的月份? knockout js

转载 作者:行者123 更新时间:2023-12-02 17:16:26 26 4
gpt4 key购买 nike

我正在进行一些计算,我得到的不是几个月,所以我需要添加到开始日期并根据添加的月份动态显示结束日期。

到目前为止我的努力:

查看模型:

function calculation() {
var self = this;
self.months= ko.observable("");
self.StartDate = ko.observable(""); // On my get i get startdate like **2014-06-24**
self.EndDate = ko.computed(function () {
return self.StartDate() + ?? // i have no clue how to add
});

我的cshtml代码:

  <input type="text" data-bind="value:$data.StartDate" />
<input type="text" data-bind="value:$data.EndDate" />

编辑:我尝试了以下建议,但遗憾的是格式不符合要求

 self.EndDate = ko.computed(function () {
var date = new Date(self.StartDate());
date.setMonth(date.getMonth() + 8); // tried static

return date.toLocaleDateString() ;

});

我收到类似2015年2月24日的信息,但我希望是2015-02-24,因为我以相同的格式传递了日期

如有任何建议,我们将不胜感激

最佳答案

您必须考虑日期带来的各种边缘情况。例如,10月31日+1个月显然不是11月31日。然后您必须考虑到二月的天数会根据是否是闰年而变化。

查看 Jazaret 在这个问题中的答案,准确找出从现在起 x 个月后的日期:

How to add months to a date in JavaScript?

然后您可以将其添加到您的代码中:

self.EndDate = ko.computed(function () {
var date = new Date(self.StartDate());
return date.addMonths(5); // add however months you want
});

关于javascript - 如何添加迄今为止的月份? knockout js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24410619/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com