日付

Q1
月の末日の取得

A1
月の末日は、まず次の月の初日を求め、そこから1日引くことで求めることができます。

次の月の初日を求めるには、対象日の月数に1を加算し、日の部分を1に設定します。
日の部分の設定にはsetDateメソッドを用い、setDate(1)と設定します。
月の部分の設定にはgetMonth,setMonthメソッドを用い、setMonth(getMonth() + 1)と設定しますが、 このままですと対象日が12月の場合、13月を設定することになりエラーとなります。
そのため、対象日が12月の場合は年数に1を加算し、月を1月に設定します。
年の部分の設定にはgetFullYear,setFullYearメソッドを用い、setFullYear(getFullYear() + 1)と設定します。

最後に、求めた次の月の初日から1日引くことで月の末日が求まります。

日付の計算については
    Biz-Tips > 日付 > 日付の計算 - 日付ベースでの計算
をご参照ください。


[サンプルコード]

現在月の初日、末日を求める
var month_first_date;
var month_last_date;

/* 月の初日の取得 */
month_first_date = new Date().setDate(1);

/* 月の末日の取得 */
month_last_date = new Date(month_first_date);
month_last_date.setFullYear(month_last_date.getFullYear()
	+ int((month_last_date.getMonth() + 1) / 12));  /* 年の設定 */
month_last_date.setMonth((month_last_date.getMonth() + 1) % 12); /* 月の設定 */
month_last_date.value -= 1;  /* 1日引く */

print("月の初日:"+str(month_first_date,"YYYY/MM/DD"),"\n");
print("月の末日:"+str(month_last_date,"YYYY/MM/DD"),"\n");
管理番号: DtE_005
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser・Biz/Designer TIPS集 トップへ