summaryrefslogtreecommitdiff
path: root/lib/utils.ts
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-05-28 19:03:21 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-05-28 19:03:21 +0000
commit5036cf2908792cef45f06256e71f10920f647f49 (patch)
tree3116e7419e872d45025d1d48e6ddaffe2ba2dd38 /lib/utils.ts
parent7ae037e9c2fc0be1fe68cecb461c5e1e837cb0da (diff)
(김준회) 기술영업 조선 RFQ (SHI/벤더)
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