SPMS_WEB/react/src/utils/format.ts
SEAN fc9b0c0f75 feat: 프론트엔드 아키텍처 셋업 (#2)
- Vite 기본 템플릿 정리 및 index.html 수정
- guideline.html 기반 디자인 토큰 적용 (index.css)
- Feature-based 폴더 구조 (8개 feature 모듈)
- 18개 placeholder 페이지 + lazy loading 라우터
- 레이아웃 컴포넌트 (AppLayout, AppHeader, AppSidebar, AuthLayout)
- Zustand 스토어 (authStore, uiStore)
- API 계층 (Axios client, auth.api)
- 타입 정의, 유틸리티, 환경변수 설정
- ErrorBoundary, ProtectedRoute, PublicRoute

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 13:02:22 +09:00

23 lines
741 B
TypeScript

import { format, formatDistanceToNow } from "date-fns";
import { ko } from "date-fns/locale";
/** 날짜 포맷 (YYYY-MM-DD) */
export function formatDate(date: string | Date): string {
return format(new Date(date), "yyyy-MM-dd");
}
/** 날짜+시간 포맷 (YYYY-MM-DD HH:mm) */
export function formatDateTime(date: string | Date): string {
return format(new Date(date), "yyyy-MM-dd HH:mm");
}
/** 상대 시간 (예: "3분 전") */
export function formatRelativeTime(date: string | Date): string {
return formatDistanceToNow(new Date(date), { addSuffix: true, locale: ko });
}
/** 숫자 포맷 (천 단위 콤마) */
export function formatNumber(value: number): string {
return new Intl.NumberFormat("ko-KR").format(value);
}