JavaScriptで、任意の日付を起点として色々な月末・月初や年末・年始の日付を取得する方法です。
起点とする日付を指定
// 今日を起点にする場合
const date = new Date();
// 任意の日付を起点にする場合
const date = new Date(2024/01/23);
目的の日付をそれぞれ取得
月末・月初
当月の月末の日
new Date(date.getFullYear(), date.getMonth() + 1, 0);
当月の月初の日
new Date(date.getFullYear(), date.getMonth(), 1);
前月の月末の日
new Date(date.getFullYear(), date.getMonth(), 0);
前月の月初の日
new Date(date.getFullYear(), date.getMonth() - 1, 1);
翌月の月末の日
new Date(date.getFullYear(), date.getMonth() + 2, 0);
翌月の月初の日
new Date(date.getFullYear(), date.getMonth() + 1, 1);
年末・年始
当年の年末の日
new Date(date.getFullYear(), 12, 0);
当年の年始の日
new Date(date.getFullYear(), 0, 1);
前年の年末の日
new Date(date.getFullYear(), 0, 0);
前年の年始の日
new Date(date.getFullYear() - 1, 0, 1);
翌年の年末の日
new Date(date.getFullYear() + 1, 12, 0);
翌年の年始の日
new Date(date.getFullYear() + 1, 0, 1);