diff options
Diffstat (limited to 'src/lib/schedule-dates.ts')
| -rw-r--r-- | src/lib/schedule-dates.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/lib/schedule-dates.ts b/src/lib/schedule-dates.ts index 719a9c6..eaa4a3a 100644 --- a/src/lib/schedule-dates.ts +++ b/src/lib/schedule-dates.ts @@ -148,3 +148,21 @@ export function entryDates( } return [...dates].sort(); } + +const monthKeyOf = (date: Date) => `${date.getFullYear()}-${pad2(date.getMonth() + 1)}`; + +/** + * メインページに載せる範囲の開始月(前月)。例: 2026-11-05 → 2026-10 + * 前月分も残すことで、終わったばかりの予定をメインページで確認できる。 + */ +export function mainStartMonth(now = new Date()): string { + return monthKeyOf(new Date(now.getFullYear(), now.getMonth() - 1, 1)); +} + +/** + * アーカイブ(月別・年度別ページ)に移す範囲の終わり月(前々月)。 + * 例: 2026-11-05 → 2026-09。前月以前はメインページに残す。 + */ +export function archiveEndMonth(now = new Date()): string { + return monthKeyOf(new Date(now.getFullYear(), now.getMonth() - 2, 1)); +} |
