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개
채택된 답변
+20 포인트
7년 전
mktime함수는 1970 1월 1일부터 인트형으로 저장이 되는 함수인데, 2038년이 되면 그 인트 자료형의 범위를 넘어서기 때문에 그렇습니다.
밀레니엄문제처럼 당시 만들던 프로그래머들이 먼 미래 일이기도 하고
그때쯤이면 알아서 해결하겠지~ 하고 냅둔 함수로 알고 있습니다
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
7년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
mktime 을 사용한 로직을 미리미리 변경해놔야 겠네요.