ABOUT ME

-

  • [ Utils ] Date Formatter
    Front/Utils 2025. 7. 2. 21:57
    반응형

    날짜 형식을 자유롭게 변경하기 위해 formatter 함수를 만들어서 사용

     

    시간의 경우 Date, String, number 타입 모두가 가능하지만

    통일성을 위해서 timestamp만 처리하도록 고려

     

    나중에 타입에 따라서 date 변수의 날짜만 잘 처리하면 사용가능

    format 파라미터로 원하는 형식을 입력받고 기본 format형태는 YYYY-MM-DD 형태로 사용

     

    나중에는 전달받은 format의 값을 replace를 활용하여 각각 알맞은 값으로 바꿔준다.

    나중에 상황에 따라서 YYYY - YYYY 형태도 고려해서 정규식으로 같은 값은 모두 바꿔주는 방식으로 구현

    export function formatDateLocale(timestamp: number, format = 'YYYY-MM-DD') {
        const date = new Date(timestamp)
    
        const map: Record<string, string> = {
            YYYY: String(date.getFullYear()),
            MM: String(date.getMonth() + 1).padStart(2, '0'),
            DD: String(date.getDate()).padStart(2, '0'),
            HH: String(date.getHours()).padStart(2, '0'),
            mm: String(date.getMinutes()).padStart(2, '0'),
            ss: String(date.getSeconds()).padStart(2, '0'),
        }
    
        Object.entries(map).forEach(([token, value]) => {
            format = format.replace(new RegExp(token, 'g'), value)
        })
    
        return format
    }

     

    날짜 format방식은 여러가지 해보았지만 이게 제일 깔끔하고 편한것 

    728x90
    반응형

    'Front > Utils' 카테고리의 다른 글

    [ Utils ] Unit Conversion  (1) 2025.07.29
    [ Utils ] Random Id  (0) 2025.07.02