개발/Database
timestamp의 가장 큰 값
신매력
2016. 9. 12. 12:16
Mysql의 timestamp 컬럼을 쓰고 있는데,
큰 수의 년도를 저장하려고 시도했더니
Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value:
이런 에러가 발생했다.
https://dev.mysql.com/doc/refman/5.5/en/datetime.html
Mysql 레퍼런스에 따르면
timestamp는 '1970-01-01 00:00:01'
UTC to '2038-01-19 03:14:07'
UTC.
이 시간의 범위를 저장할 수 있다고 한다.
애매한 시간인 2038년 1월 19일까지인 이유는
초를 4byte로 저장하기 때문이고,
그 max 값이 저 날짜이기 때문이다.
현재 timestamp의 가장 큰 값을 식으로 나타내면 아래와 같다.
long MAX = (long) Integer.MAX_VALUE * 1000;
Date date = new Date(MAX);