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)**는 세계 표준 시간으로, 전 세계의 시간대 기준으로 사용되는 시간입니다