fix: 날짜 표시·필터를 KST 기준 공통 유틸로 일원화함#28
Conversation
toLocaleDateString/toISOString().split를 직접 호출하던 곳들이 timeZone 미지정이라 Vercel 서버리스(UTC) 기준으로 동작 → KST 자정~오전 9시 갱신 시 날짜가 하루 어긋나던 문제 수정함. - src/lib/date-utils.ts 신설: formatKstLongDate/formatEventDate/formatKstDate/getKstTodayStr (timeZone Asia/Seoul 고정) - 표시 날짜 7곳·예정 이벤트 "오늘" 필터 4곳(컴포넌트 2 + 크롤러 2)을 공통 유틸 경유로 전환함 - 저장용 타임스탬프(crawledAt/updatedAt/generatedAt)는 UTC toISOString 유지 — 표시 시점에만 KST 변환 - CLAUDE.md에 날짜 포맷 컨벤션 추가해 재발 방지함
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (10)
📝 WalkthroughWalkthrough
ChangesKST 날짜 유틸리티 추가 및 일괄 적용
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Vercel 서버리스(UTC) 환경에서 timeZone 미지정으로 인해 KST 기준 날짜가 하루씩 어긋나던 문제를 해결하기 위해, 표시/필터용 날짜 처리를 KST 고정 공통 유틸(src/lib/date-utils.ts)로 일원화한 PR입니다.
Changes:
formatKstDate/formatKstLongDate/formatEventDate/getKstTodayStr유틸을 신설해 KST 기준 포맷을 중앙집중화- 화면 표시(YouTube/예측/스케줄) 및 “오늘 이후 이벤트” 필터 로직을 공통 유틸 사용으로 교체
- 날짜 포맷 컨벤션을
CLAUDE.md에 명문화하여 재발 방지
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/lib/date-utils.ts | KST 기준 날짜 포맷/“오늘” 문자열 생성 유틸 추가 |
| src/lib/crawl/schedule-crawler.ts | 이벤트 “오늘” 필터 기준을 KST 유틸로 교체 |
| src/components/youtube/VideoCard.tsx | 영상 게시일 표시를 KST 유틸로 교체 |
| src/components/schedule/ScheduleView.tsx | 업데이트 날짜 표시 및 “오늘” 필터를 KST 유틸로 교체 |
| src/components/schedule/SchedulePreview.tsx | “오늘 이후 이벤트” 및 이벤트 날짜 표시를 KST 유틸로 교체 |
| src/components/schedule/EventCard.tsx | 이벤트 날짜 표시를 KST 유틸로 교체 |
| src/components/predictions/PredictionDetail.tsx | 생성일 표시를 KST 유틸로 교체 |
| src/components/fighter/VideoSection.tsx | 영상 게시일 표시를 KST 유틸로 교체 |
| src/components/fighter/PredictionPreview.tsx | 생성일 표시를 KST 유틸로 교체 |
| CLAUDE.md | 날짜 포맷/필터 컨벤션 추가 |
| /** | ||
| * @description 현재 시각을 KST 기준 "YYYY-MM-DD" 문자열로 반환 (예정 이벤트 필터의 "오늘" 비교용). | ||
| * 기존 `new Date().toISOString().split("T")[0]`는 UTC 날짜라 KST 자정~오전 9시 구간에 하루 어긋남. | ||
| * en-CA 로케일은 "YYYY-MM-DD" 출력을 보장하므로 event.date 문자열 비교에 그대로 사용 가능. | ||
| * @returns KST 기준 "YYYY-MM-DD" | ||
| */ | ||
| export const getKstTodayStr = (): string => | ||
| new Date().toLocaleDateString("en-CA", { timeZone: "Asia/Seoul" }); |
toLocaleDateString/toISOString().split를 직접 호출하던 곳들이 timeZone 미지정이라 Vercel 서버리스(UTC) 기준으로 동작 → KST 자정~오전 9시 갱신 시 날짜가 하루 어긋나던 문제 수정함.
Summary by CodeRabbit
릴리스 노트