ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JS] 날짜를 문자열로 변경하는 방법 및 문자열을 원하는 날짜 형식으로 표현하는 방법 - How to convert a date to a string and how to display the string in the desired date format
    JS 2024. 8. 17. 21:40

     

    1. 두 가지 메서드 소개

     

    1. parseStringToDateTime(timeValue) 
      • JavaScript에서 문자열로 표현된 날짜와 시간을 Date 객체로 변환하는 사용자 정의 함수
      • 다양한 날짜와 시간 형식의 입력된 문자열을 기반으로 생성된 'Date' 객체를 반환
        • 입력 값 예시 : "YYYY-MM-DDTHH:mm:ssZ", "YYYY/MM/DD HH:mm:ss", "MM-DD-YYYY", 등
        • 출력 값 : 입력 값 형식에 맞는 Date 객체
    2. parseDatetimeToString(timeValue) 
      • 이 함수는 주어진 문자열을 Date 객체로 변환한 다음, 원하는 형식의 문자열로 변환합니다.
     
     

    2. parseStringToDateTime(stringValue)

    • 문자열을 Date Time 으로 변경
    //JS 파일
    
    1.  function parseStringToDateTime(timeValue) {
    2.      let parseTime = new Date(timeValue.replace('T', ' ').replace('Z', ''));
    3.      parseTime.setHours(parseTime.getHours() + 9);
    4.      return parseTime;
    5.  }
    6.  
    7.  let StringTimeValue = '2023-07-30T12:34:56Z';
    8.  let DateTimeValue = parseStringToDateTime(timeValue)
    9.  
    10.  console.log(DateTimeValue); // 2023-07-30T21:34:56.000Z 출력
    • Line 2 -> timeValue.replace('T', ' ').replace('Z', '')
      • 문자열의 'T'와 'Z'를 각각 공백과 빈 문자열로 대체합니다.
    • Line 2 -> new Date()
      • 이를 Date 개체로 변환합니다.
    • Line 3 -> parseTime.setHours(parseTime.getHours() + 9)
      • 한국 시간대로 변환하기 위해 9시간을 더합니다

     

     

    3. parseDatetimeToString(stringValue)

    • Date 객체를 문자열로 변환
    • 날짜와 시간 데이터를 특정 형식의 문자열로 변환하여 출력
     //JS파일
     
    1.  function parseDatetimeToString(timeValue) {
    2.           let parseTime = new Date(timeValue.replace('T', ' ').replace('Z', ''));
    3.           parseTime.setHours(parseTime.getHours() + 9);
    4.           let year = parseTime.getFullYear();
    5.           let month = ('0' + (parseTime.getMonth() + 1)).slice(-2);
    6.           let day = ('0' + parseTime.getDate()).slice(-2);
    7.           let hours = parseTime.getHours();
    8.           let minutes = ('0' + parseTime.getMinutes()).slice(-2);
    9.           let ampm = hours >= 12 ? '오후' : '오전';
    10.           hours = hours % 12;
    11.           hours = hours ? hours : 12; // 0시를 12시로 표시
    12.           let parseTimeString = year + '. ' + month + '. ' + day + '. ' + ampm + ' ' + hours + ':' + minutes;
    13.           return parseTimeString; //2023. 07. 30. 오후 9:34 반환
    14.   			
    15.     }
    • 2~3번 Line -  입력된 값을 Date 객체로 변환하고 9시간을 더합니다.
    • 4~8번 Line - 변환된 Date 객체를 사용하여 연도, 월, 일, 시간, 분을 추출합니다.
    • 9~11번 Line - 12시간제로 시간과 오전/오후 표시를 계산합니다.
    • 12~13번 Line - 최종 표시 형식의 문자열을 생성합니다. ( 2023. 07. 30. 오후 9:34 )
    반응형
Designed by Tistory.