mktime() 2038-01-19 12:14:08 이후 표시가 불가능 ... 대안은?
본문
<?php
echo mktime('12','14','07','01','19','2038'); // mktime(시,분,초,월,일,년)
?>
결과가 2147483647 이렇게 표시됩니다.
2038년 1월 19일 12시 14분 07초 까지는 mktime 표시가 됩니다.
<?php
echo mktime('12','14','08','01','19','2038'); // mktime(시,분,초,월,일,년)
?>
2038년 1월 19일 12시 14분 08초 까지는 mktime 으로 요청하면 값을 반환하지 않습니다.
예전 cobol 시절의 2K 밀레니엄 버그같은 그런 거인걸까요?
mktime 은 2038년 1월 19일 12시 14분 07초 까지만 사용하고,
그 이후는 나몰라 ... 뭐 그런걸까요?
답변 1
mktime함수는 1970 1월 1일부터 인트형으로 저장이 되는 함수인데, 2038년이 되면 그 인트 자료형의 범위를 넘어서기 때문에 그렇습니다.
밀레니엄문제처럼 당시 만들던 프로그래머들이 먼 미래 일이기도 하고
그때쯤이면 알아서 해결하겠지~ 하고 냅둔 함수로 알고 있습니다
답변을 작성하시기 전에 로그인 해주세요.