그림 처럼, 나라별 시간이 틀리되, 웹페이지에서 DB로 Date 를 전송할때, 나라에 맞는 시간을 보냅니다.
웹 > DB > 웹 으로 가기때문에 Date를 고정했다가는 꼬일수있습니다
DB 서버 Timezone를 UTC로 하고, Date 타입을 맞게 저장을 해야합니다.
MYSQL에 STR_TO_DATE를 사용하여 저장을 해야합니다.
REST로 Date받을시 타입이 String 이므로, format을 해주셔야 합니다.
# Table
CREATE TABLE IF NOT EXISTS 'Test' (
id BIGINT NOT NULL AUTO_INCREMENT,
custom_date TIMESTAMP NULL,
PRIMARY KEY (id)
)`
# SQL
INSERT INTO Test (custom_date) VALUES (STR_TO_DATE('${getDateFormat(custom_date)}', '%Y-%m-%d %H:%i:%s')
# Func
const getDateFormat = (customDate) => {
return new Date(customDate).toISOString().replace('T', ' ').slice(0, 19);
};