/**
* fixture用の日時ヘルパー
*
* 画面確認のたびに日付が古くなると「昨夜の清掃結果」という運用イメージが崩れるため、
* サンプルデータの日付は実行日からの相対で生成しています。
*/
/** JSTのオフセット付きISO8601文字列を作る(例: 2026-08-26T02:00:00+09:00) */
export function jst(date: Date, time: string): string {
const y = date.getFullYear();
const m = String(date.getMonth() + 1).padStart(2, "0");
const d = String(date.getDate()).padStart(2, "0");
return `${y}-${m}-${d}T${time}:00+09:00`;
}
/** n日前のDateを返す(n=0 が当日) */
export function daysAgo(n: number): Date {
const d = new Date();
d.setHours(0, 0, 0, 0);
d.setDate(d.getDate() - n);
return d;
}
/** n日前の日付を YYYY-MM-DD で返す */
export function dateOnly(n: number): string {
const d = daysAgo(n);
return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, "0")}-${String(
d.getDate()
).padStart(2, "0")}`;
}
/** n日前の指定時刻をISO8601で返す */
export function at(n: number, time: string): string {
return jst(daysAgo(n), time);
}