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