MySQL의 DATETIME 형식 수정, UTC란?

tpids·2024년 7월 23일

project

목록 보기
6/26

post_date 필드에 전달된 2024-07-23T00:52:31.297Z 값이 MySQL에서 기대하는 DATETIME 형식과 맞지 않는다는 것입니다.

MySQL의 DATETIME 형식은 YYYY-MM-DD HH:MM:SS 형태여야 합니다.

현재는 ISO 8601 형식(2024-07-23T00:52:31.297Z)이 사용되고 있어 오류가 발생하고 있습니다.

이 문제를 해결하기 위해 다음 단계를 따르세요:

1. post_date 필드 형식 수정

  • post_date를 DATETIME 형식으로 저장하려면, ISO 8601 형식을 DATETIME 형식으로 변환해야 합니다. 이를 위해 JavaScript의 Date 객체를 사용하여 변환할 수 있습니다.

2. 날짜 포맷 변환하기

  • post_date 값을 올바른 형식으로 변환하여 MySQL 쿼리에 전달합니다. YYYY-MM-DD HH:MM:SS 형식으로 변환하려면 다음과 같은 함수를 사용할 수 있습니다
function formatDateToMySQL(date) {
    const d = new Date(date);
    return d.toISOString().slice(0, 19).replace('T', ' ');
}
  • Date 객체를 ISO 문자열로 변환한 후, T를 공백으로 바꿔줍니다.
  • toISOString() 메서드는 항상 UTC 시간대를 사용하며, 결과 문자열은 YYYY-MM-DDTHH:mm:ss.sssZ 형식입니다.
  • 이 문자열에서 밀리초와 시간대 정보를 잘라내고 T를 공백으로 교체하여 MySQL의 DATETIME 형식으로 변환합니다.

UTC란?

  • *UTC (Coordinated Universal Time)**는 세계 표준 시간으로, 전 세계의 시간대 기준으로 사용되는 시간입니다
profile
개발자

0개의 댓글