summaryrefslogtreecommitdiff
path: root/lib/utils.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/utils.ts')
-rw-r--r--lib/utils.ts33
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