Server/DB

Mysql) Datetime Timestamp 차이

Juzdalua 2022. 3. 16. 18:20

현재 나의 Mysql DB timezone은 한국시간으로 맞춰져있다.

 

현재시간을 timestamp와 datetime으로 비교해보자.

create table datedemo
(
 mydatetime datetime,
 mytimestamp timestamp
);

insert into datedemo values ((now()), (now()));

 

똑같아 보일 수 있다.

select * from datedemo;
+---------------------+---------------------+
| mydatetime          | mytimestamp         |
+---------------------+---------------------+
| 2011-08-21 14:11:09 | 2011-08-21 14:11:09 |
+---------------------+---------------------+

 

SET TIME_ZONE = "america/new_york";

select * from datedemo;
+---------------------+---------------------+
| mydatetime          | mytimestamp         |
+---------------------+---------------------+
| 2011-08-21 14:11:09 | 2011-08-21 04:41:09 |
+---------------------+---------------------+

DB의 타임존을 변경하면 타임스탬프는 영향을 받는다.

KST, 한국시간은 UTC+9이므로

글로벌 서비스로 국가마다 다른 시간을 표현하려면, unixtime 또는 datetime으로 UTC0을 백엔드에서 리턴해야한다.

 

국가에 따른 시간표현은 프론트에서 구현한다.

 

unixtime 변환 사이트: https://www.unixtimestamp.com/

 

출처) https://nesoy.github.io/articles/2020-02/mysql-datetime-timestamp

 

'Server > DB' 카테고리의 다른 글

console.time()으로 DB 접속시간 확인하기  (0) 2022.04.04
NestJS에 Redis 설치하고 실행하기  (0) 2022.03.25
Prisma multiple database connection  (0) 2022.03.17
Sequel Pro 연결 오류  (0) 2022.03.16
Redis 설치하고 시작하기  (0) 2022.03.10