diff options
Diffstat (limited to 'lib/utils.ts')
| -rw-r--r-- | lib/utils.ts | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/utils.ts b/lib/utils.ts index c7015638..c09589d5 100644 --- a/lib/utils.ts +++ b/lib/utils.ts @@ -149,4 +149,37 @@ export function formatCurrency( // minimumFractionDigits: 0, // maximumFractionDigits: 2, }).format(value) +} + +/** + * YYYYMMDD 형태의 날짜를 YYYY nQ 형태의 분기로 변환 + * @param dateString YYYYMMDD 형태의 문자열 (예: "20240315") + * @returns YYYY nQ 형태의 문자열 (예: "2024 1Q") + */ +export function formatDateToQuarter(dateString: string | null | undefined): string { + if (!dateString) return "-" + + // YYYYMMDD 형태인지 확인 + if (typeof dateString !== 'string' || dateString.length !== 8) { + return "-" + } + + const year = dateString.substring(0, 4) + const month = parseInt(dateString.substring(4, 6), 10) + + // 월을 분기로 변환 + let quarter: number + if (month >= 1 && month <= 3) { + quarter = 1 + } else if (month >= 4 && month <= 6) { + quarter = 2 + } else if (month >= 7 && month <= 9) { + quarter = 3 + } else if (month >= 10 && month <= 12) { + quarter = 4 + } else { + return "-" // 잘못된 월 + } + + return `${year} ${quarter}Q` }
\ No newline at end of file |
