Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 MySQL DATETIME 값을 JSON 형식으로 변환하는 방법

JavaScript에서 MySQL DATETIME 값을 JSON 형식으로 변환하는 방법

MySQL 데이터베이스에서 가져온 DATETIME 값을 JavaScript에서 JSON 형식으로 변환하려면 JSON.stringify() 메서드를 사용하면 됩니다. 이 메서드는 JavaScript 객체를 JSON 문자열로 직렬화해 주기 때문에, 날짜 정보를 연도·월·일·시·분·초 단위로 나누어 객체에 담은 뒤 손쉽게 JSON으로 변환할 수 있습니다.

1단계: Date 객체로 날짜 값 추출하기

먼저 MySQL DATETIME 문자열을 기반으로 Date 객체를 생성한 후, 각 전용 getter 메서드를 사용해 필요한 날짜 및 시간 구성 요소를 개별적으로 추출합니다.

  • getFullYear() – 연도(4자리)
  • getMonth() – 월(0부터 시작, 1월은 0)
  • getDate() – 일(1~31)
  • getHours() – 시(0~23)
  • getMinutes() – 분(0~59)
  • getSeconds() – 초(0~59)

2단계: JSON.stringify()로 객체 직렬화하기

추출한 값을 하나의 객체로 묶은 다음 JSON.stringify()에 전달하면 JSON 문자열이 반환됩니다.

<script>
// MySQL DATETIME 값을 Date 객체로 생성
var mySQLDateTime = new Date("Fri Sep 06 2019 22:54:48");

// 날짜 및 시간 구성 요소 추출
var yearValue = mySQLDateTime.getFullYear();
var dateValue = mySQLDateTime.getDate();
var monthValue = mySQLDateTime.getMonth();
var hour = mySQLDateTime.getHours();
var minutes = mySQLDateTime.getMinutes();
var second = mySQLDateTime.getSeconds();

// 객체로 조립
var jsonObject = {
"year": yearValue,
"month": monthValue,
"DateValue": dateValue,
"Hour": hour,
"Minutes": minutes,
"Second": second
};

// JSON 문자열로 변환 후 출력
var dateJsonObject = JSON.stringify(jsonObject);
document.write(dateJsonObject);
</script>

실행 결과

위 코드를 실행하면 다음과 같은 JSON 형식의 출력 결과를 얻을 수 있습니다.

{"year":2019,"month":8,"DateValue":6,"Hour":22,"Minutes":54,"Second":48}

참고: 원래 날짜가 9월(Sep)이지만 결과에서 month 값이 8로 표시됩니다. 이는 JavaScript의 getMonth() 메서드가 0부터 시작하는 인덱스(0 = 1월)를 반환하기 때문입니다. 실제 월을 표시하려면 monthValue + 1처럼 1을 더해 주는 것이 좋습니다.

정리

MySQL DATETIME 값을 JSON으로 변환하는 과정은 크게 세 단계로 요약할 수 있습니다.

  1. DATETIME 문자열로 Date 객체 생성
  2. getter 메서드로 연·월·일·시·분·초 추출
  3. 객체를 JSON.stringify()로 직렬화

이 방식을 활용하면 데이터베이스의 날짜 정보를 API 응답이나 클라이언트 측 처리에 적합한 JSON 구조로 깔끔하게 전달할 수 있습니다.