- B01 받은 예정노선 [연결] = 모달(새 임도 프로젝트로 · 기존 프로젝트에 연결) → link API · 409 확인 → 다시 · 끝나면 B03 이동 · 확정(KST) 열 - 연결 new 때 예정노선 설계속도(20/30/40)를 단계 2 params options.design_speed_kph 에 · existing 은 안 건드림 - B03 자동설계 체인이 단계 2 params 의 설계속도를 이어 넘김(없으면 None = 그대로 · 브레인 허락) - 받은 예정노선 목록에 confirmed_at · D04 표 확정 시각 KST 표시(서버 UTC 그대로) - 시험: new 연결 설계속도 기록 · existing · 범위 밖 값 안 넣음 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
16 lines
786 B
TypeScript
16 lines
786 B
TypeScript
/* =============================================================================
|
|
* common_util_time_kst.ts
|
|
* 서버 UTC 시각(DB 세션 time_zone +00:00) → 화면 KST(UTC+9) 글자 — 서버 값은 UTC 그대로.
|
|
* ========================================================================== */
|
|
|
|
const KST_OFFSET_MS = 9 * 3600 * 1000;
|
|
|
|
/** "YYYY-MM-DD HH:MM:SS" · ISO(UTC) → "YYYY-MM-DD HH:MM" KST · 빈 값 = "—" · 못 읽으면 원글 */
|
|
export function kstText(utc: string | null | undefined): string {
|
|
if (!utc) return "—";
|
|
const iso = utc.trim().replace(" ", "T");
|
|
const ms = Date.parse(/(Z|[+-]\d\d:?\d\d)$/.test(iso) ? iso : `${iso}Z`);
|
|
if (Number.isNaN(ms)) return utc;
|
|
return new Date(ms + KST_OFFSET_MS).toISOString().slice(0, 16).replace("T", " ");
|
|
}
|