編集:少しいじった後、ここに解決策があります:
まず、文字列を個々の部分に分割します。
var inputString = "12-2-2005";
var dString = inputString.split('-');
次に、文字列をdatetimeオブジェクトに解析し、それに28日(4週間)を追加します。
var dt = new Date(dString[2],dString[1]-1,dString[0]);
dt.setDate(dt.getDate()+28);
最後に、日付を出力できます
var finalDate = dt.GetDate() + "-" + (dt.GetMonth()+1) + "-" + dt.GetYear();
このコードはを返す必要があり12-3-2005
ます。
警告: JavaScriptのDateオブジェクトは月フィールドとして0-11を使用しているようです。したがって、コードでは月に-1と+1が使用されます。
EDIT2:パディングを行うには、次の関数を使用します。
function pad(number, length) {
var str = '' + number;
while (str.length < length) {
str = '0' + str;
}
return str;
}
出力をに変更します
var finalDate = pad(dt.GetDate(),2) + "-" + pad(dt.GetMonth()+1,2) + "-" + dt.GetYear();
更新されたフィドルを確認してください。