Year 2038 Problem.

pynoos의 이미지

http://www.google.com/search?hl=ko&ie=UTF-8&oe=UTF-8&q=2038+problem&lr=

2038 년 이후의 날짜를 취급하다가 우연히 발견하게 된것인데,
문제가 있을 것이라고만 생각했다가 웹을 뒤져보니
거의 Y2K 수준 혹은 그 이상이다는 경고성 웹페이지들이 많군요.

문제는 time stamp로 사용되는 time_t 가 signed 32 bit integer 라는 것입니다. signed 이므로 31 만이 사용되며,

1970-1-1 0:0:0 에서 흘러온 초단위로 시각을 표현하다보니

19-January-2038 at 3:14:08 AM GMT

이 마지막 초가 된다는 군요.

urmajest의 이미지

unsigned로 바꿔야겠군요 -_-

2038년 전에...

knight2000의 이미지

음... 그럼... 얼마 후가 아니라, 오랜 후가 될 듯 합니다만...

===== ===== ===== ===== =====
knight2000 of SALM.
SALM stood for SALM Ain't a Life Model.
SALM is not the life model, but SALM is just the life.

익명 사용자의 이미지

35년 후의 이야기는 35년 후에 생각하자~ 가 아닐까요? :)

20년 전만 해도 32비트는 매우 큰 수였고 많은 메모리를 잡아먹는 단위였지만 이제 32비트 정도는 가벼운 것처럼..
지금은 일부 시스템만 64비트를 완전하게 이용하지만 20년 후에는 64비트도 가벼워지겠죠.

세상은 늘 그래왔듯 서서히 더 나은 시스템으로 옮겨가겠지요.
그렇지 않은 아주 오래된 시스템들은.. 그때 되면 해결책이 나오겠죠.

pynoos의 이미지

urmajest wrote:
unsigned로 바꿔야겠군요 -_-

2038년 전에...

unsigned 로 바꿀 수 없는 것이... time_t 가 단지 time stamp로만 쓰이는 것이 아니라, time stamp의 차이에도 사용되는 것이라 signed 일 수 밖에 없답니다.

june8th의 이미지

앞으로 30년이 넘게 남은 일인데..
이 글을 보는 사람들 중 얼만큼의 사람들이
직간접적으로 그 문제랑 얽혀있을까요?

저는 Y2K 당시, 회사 초년생으로
관련 문서 복사를 하는 일을 맡았더랍니다... :lol: