원래 Unix 시간 데이터 유형(time_t)은 1970년 1월 1일 이후의 초 수를 나타내는 서명된 긴 정수(32비트 시스템에서 32비트 정수)로 날짜와 시간을 저장합니다. 2038년 도중이 숫자는 231을 초과합니다 – 1, 32 비트 시스템에서 서명 된 긴 정수로 표현 할 수있는 가장 큰 숫자로, 2038 년 문제 (유닉스 밀레니엄 버그 또는 Y2K38라고도 함)를 일으킵니다. 64비트 시스템에서 긴 정수는 64비트를 사용하므로 LP64 모델을 사용하는 64비트 시스템에는 문제가 현실적으로 존재하지 않습니다. Y2K 문제, 밀레니엄 버그, Y2K 버그, Y2K 글리치 또는 Y2K라고도 하는 2000년 연도 문제는 2000년부터 시작된 날짜의 달력 데이터의 서식 지정 및 저장과 관련된 이벤트를 말합니다. 많은 프로그램이 마지막 두 자리 숫자로 4자리 연도를 나타내기 때문에 문제가 예상되고 발생했으며 2000년은 1900년과 구별할 수 없게 되었습니다. 이러한 프로그램에서 20세기 날짜를 가정하면 날짜가 잘못 표시되고 자동화된 날짜 레코드 또는 실시간 이벤트의 잘못된 순서와 같은 다양한 오류가 발생할 수 있습니다. 그의 첫 번째 책 신들 새 천년의 (1996) 제카리아 시친의 고대 우주 비행사 이론에 그린 영국에서 번호 11 논픽션 베스트 셀러가되었다. 그러나 그의 후속 글에서, 그러나, 그는 시친의 이론의 사용에 심각한 잘못을 인정하고 고대 신화의 대안, 대격변 이론을 제안: „나는 지금 이 신들이 떨어지는 하늘을 인격화 한 의견의 단단히; 다시 말해서, 신들의 하강은 고대 근동 종교의 중심에 서 있던 대격변 신화의 시적 표현이었다.“ [2] Y2K는 숫자로, 2000년 소프트웨어 문제의 일반적인 약어입니다. 약어는 „year“에 대한 문자 Y, 숫자 2 및 SI 단위 접두사 킬로에 대한 대문자 버전 k를 결합하여 1000을 의미합니다. 따라서 2K는 2000을 의미합니다. 그것은 또한 „밀레니엄 버그“ 그것은 인기와 관련 된 때문에 „밀레니엄 버그“ 그것은 인기 와 관련 된 (보다는 문자 그대로) 밀레니엄의 롤오버, 비록 문제의 대부분은 어떤 평범한 세기의 끝에 발생할 수 있습니다.

자신의 실수를 깨달은 알포드는 메소포타미아 신화 문헌에 대한 조사를 시작했다. 그 결과 신들이 내려오고 (2000년) 고대 우주 비행사 해석에 대한 강렬한 반박을 하면서 신화의 대격변 이론을 정교하게 다듬고 확장했습니다. 이 책의 출판과 일치, 알포드는 자신의 웹 사이트에 게시 광범위한 `자기 비판` 그의 첫 번째 책 새 천년의 신들의. [7] 이 때 GOTNM의 페이퍼백 에디션은 저자가 6장에서 16장에 대한 자신의 예약을 표현하는 새로운 서문을 가지고 시작했다. [8] 새 천년의 신들 (1996 및 1997)에서, 알포드는 고대 우주 비행사 작가 제카리아 시친의 이론에 영국 대중의 관심을 끌었다. 이 책은 상업적 성공을 거두었습니다. 그러나 2년이 채 지나지 않아, 알포드는 신들이 지구의 창조를 형성한 하늘 행성의 폭발을 인격화했다고 주장함으로써 그의 멘토와 모순되기 시작했다. 문제의 주요 원인은 헥사데피말 번호 인코딩과 숫자의 이진 코드 소수점 인코딩 사이의 혼동이었습니다. 헥사데피좀과 BCD 모두 0-9를 0x0-0x9로 인코딩합니다. 그러나 BCD는 숫자 10을 0x10으로 인코딩하는 반면 헥사데이는 숫자 10을 0x0A로 인코딩합니다. 헥사데피형 인코딩으로 해석된 0x10은 숫자 16을 나타낸다.

예를 들어 SMS 프로토콜은 날짜에 BCD를 사용하기 때문에 일부 휴대 전화 소프트웨어는 SMS의 날짜를 2010년 대신 2016년으로 잘못 보고했습니다. Windows Mobile은 이 결함의 영향을 받은 것으로 보고된 첫 번째 소프트웨어입니다. 경우에 따라 WM6는 2010년 1월 1일 이후에 보낸 수신 SMS 메시지의 날짜를 „2010년“에서 „2016“으로 변경합니다. [22] [23] Y2K 문제는 엘니뇨와 동등한 전자 문제이며 전 세계적으로 불쾌한 놀라움이 있을 것입니다.