プロジェクトではカレンダーを使用する必要があり、.net カレンダー コントロールは重すぎるため、カレンダーのコア関数は DateAdd() であることがわかりました。 vbscript と違って js は思ったより面倒ですが、dateadd を簡単に実行できますが、後で setFull Year() や setDate() などの組み込み関数を使用して、js バージョンの dateadd() を組み合わせることにしました。 コードは次のとおりです。 :
function DateAdd(interval, number,date){ // 日付は時間オブジェクトまたは文字列の場合、後者の場合、形式は yyyy-mm-dd hh:mm:ss でなければなりません。区切り文字は可変です。 「2006 年 12 月 29 日 16:01:23」も有効です。
number = parseInt(number);
if (typeof(date)=="string"){
date = date. D/);
--date[1];
eval("var date = new Date(" date.join(",") ")");
}
if (typeof) (date)=="object"){
var date = date
}
switch(interval){
case "y": date.setFull Year(date.getFullyear() 数値 ); ;
case "m": date.setMonth(date.getMonth() 数値);
case "d": date.setDate(date.getDate() 数値); w": date.setDate(date.getDate() 7*number); ブレーク;
ケース "h": date.setHours(date.getHour() 数値); ブレーク;
ケース "n ": 日付.setMinutes(date.getMinutes() 数値); ブレーク
case "s": date.setSeconds(date.getSeconds() 数値); () 数値); Break;
}
return date;
この関数は、3 つのパラメーターを使用して、vbscript の dateadd 関数を最大限に模倣しています。 、最初のパラメータは変更する時間間隔で、年、月、日、週、時、分、秒、ミリ秒(拡張)を指定できます。3 番目のパラメータは時間オブジェクトまたは文字列です(形式は 2006 である必要があります)。 -12-29 14:32:57 または 2006 年 12 月 29 日 14:32:57)、関数の戻り値は新しい時刻オブジェクトです。