diff options
| author | joonhoekim <26rote@gmail.com> | 2025-11-24 20:13:50 +0900 |
|---|---|---|
| committer | joonhoekim <26rote@gmail.com> | 2025-11-24 20:13:50 +0900 |
| commit | c54a2445b6285d06c0ce3afa1cd3aa6aecf6de94 (patch) | |
| tree | 7a3f8e9d2eb3c8f4d9659cfe1d719d45dcbec139 /lib/dolce/utils/date-formatter.ts | |
| parent | b284a6e07c2dd03d10eb471d69457e92bcc0ac76 (diff) | |
(김준회) dolce rebuild: i18n 지원
Diffstat (limited to 'lib/dolce/utils/date-formatter.ts')
| -rw-r--r-- | lib/dolce/utils/date-formatter.ts | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/lib/dolce/utils/date-formatter.ts b/lib/dolce/utils/date-formatter.ts new file mode 100644 index 00000000..83e78b0d --- /dev/null +++ b/lib/dolce/utils/date-formatter.ts @@ -0,0 +1,54 @@ +/** + * DOLCE 날짜 포맷팅 유틸리티 + * + * SWP의 날짜 포맷팅 함수를 재사용 + * 모든 날짜는 KST (Korea Standard Time, GMT+9) 타임존 + */ + +import { formatSwpDate } from "@/lib/swp/utils"; + +/** + * SWP와 동일한 방식 + */ +export function formatDolceDateTime(dateStr: string | null): string { + if (!dateStr) return "-"; + return formatSwpDate(dateStr); +} + +/** + * YYYYMMDD 형식을 YYYY-MM-DD로 변환 + * + * @param dateStr "20170220" 형식 + * @returns "2017-02-20" + */ +export function formatDolceDateYYYYMMDD(dateStr: string | null): string | null { + if (!dateStr || dateStr.length !== 8) return null; + + try { + const year = dateStr.substring(0, 4); + const month = dateStr.substring(4, 6); + const day = dateStr.substring(6, 8); + + return `${year}-${month}-${day}`; + } catch { + return dateStr; + } +} + +/** + * 통합 날짜 포맷팅 + * + * @param dateStr 날짜 문자열 (다양한 형식 지원) + * @returns 포맷팅된 날짜 문자열 + */ +export function formatDolceDate(dateStr: string | null): string { + if (!dateStr) return "-"; + + // YYYYMMDD 형식 (8자리 숫자) + if (/^\d{8}$/.test(dateStr)) { + return formatDolceDateYYYYMMDD(dateStr) || dateStr; + } + + // 날짜+시간 형식 + return formatDolceDateTime(dateStr); +} |
