Unix time หรือว่า POSIX Time เป็นตัวบอกเวลาในคอมพิวเตอร์ วิธีของมันก็คือ เก็บจำนวนวินาทีทั้งหมดเริ่มตั้งแต่วันที่ 1 มกราคม 1970 (พ.ศ. 2513) ทุกๆวินาทีที่เพิ่มขึ้น ค่าของ Unix Time ในระบบก็จะเพิ่มขึ้นตามไปด้วย ซึ่ง Unix Time นี่ไม่ได้รวม Leap Second ที่กำหนดให้ปรับเวลาเร็วขึ้นหนึ่งวินาทีในบางปี
ดังนั้น คอมพิวเตอร์จึงมองเห็นช่วงของเวลา ตั้งต้นทีปี 1970 จนถึงปัจจุบันเท่านั้น อยากรู้จริงๆว่า แล้วคอมพิวเตอร์ที่เก็บข้อมูล ที่เกี่ยวข้องกับทางด้านโบราณคดีจะทำอย่างไร หมายถึงตอนที่ จะต้องโอนย้ายข้อมูลบนคอมพิวเตอร์ที่ออกแบบมาเกี่ยวกับเวลาหลังจาก 1970 โดยเฉพาะ มาไว้บนคอมพิวเตอร์ทั่วไป
ถ้าเป็น PHP เราสามารถเรียกดู Unix Time ณ เวลาปัจจุบันในเครื่องได้ด้วย time(); ค่าตัวเลขที่ได้จะต้องนำมาคำนวนอีกรอบหนึ่งเพื่อให้อยู่ในหน่วยของ วัน เดือน ปี ที่เราอ่านกันรู้เรื่องมากกว่า
ทีนี้เมื่อเรามองย้อนไปเมื่อปี ค.ศ.2000 เราจะพบปัญหา Maximum Value of Time คือการตีกลับของจำนวนตัวเลขจาก 19(99) -> 20(00) สำหรับโปรแกรมบางโปรแกรม หรือภาษาโปรแกรมมิ่งบางภาษาที่อ้างอิงปีด้วยค่าจำนวน 2 หลัก
Unix Time เองก็มีสิทธิ์ที่จะเกิดปัญหาคล้ายๆกัน ในการเก็บค่าไว้ในหน่วยความจำของคอมพิวเตอร์ จะต้องมีการจัดสรรพื้นที่ให้แต่ละค่าเอาไว้แน่นอน ดังนั้นเมื่อเวลาไม่ได้หยุดอยู่กับที่ ทุกวินาทีที่เพิ่มขึ้น จะถูกเก็บลงไปในพื้นที่หน่วยความจำที่มีขนาดเท่าเดิม เวลาเมื่อเดินทางมาจนถึงจุดหนึ่ง จนพื้นที่ในหน่วยความจำไม่สามารถรองรับได้ สิ่งที่เราเจอเสมอตอนเขียนภาษาซีก็คือ ถ้ายัดค่าที่มากกว่าลงในตัวแปรที่จองไว้ มันก็จะตีกลับไปเป็นอีกด้านหนึ่งแทน เราอาจจะเดาได้ว่าเมื่อถึงจุดนั้น ณ วินาทีที่เกินกว่าพื้นที่ของหน่วยความจำจะรับได้ มันก็จะตีกลับไปเป็น 0 ซึ่งแน่นอน ทุกอย่างที่อ้างถึงด้วย Unix Time ก็จะกลับไปสู่วันที่ 1 มกราคม 1970 หรือหลังจากนั้นก็ได้
ค่าตัวแปรที่จองไว้ในระบบ Unix เก่าๆ มีขนาด 4-byte Maximum Value = 2,147,483,647 ดังนั้นเมื่อจำนวนวินาทีที่จะต้องเก็บมีจำนวนเท่ากับ และเยอะไปกว่าค่าสูงสุดของหน่วยความจำ ปัญหา Maximum Value of Time ก็จะเกิดขึ้นทันที มันถูกคำนวนเอาไว้ว่า จะสร้างความวุ่นวายกับเราในปี ค.ศ.2038 (พ.ศ. 2581)
ถ้าหาก ณ เวลานั้นยังมีระบบที่รันโดยอ้างอิง Unix Time โดยเก็บไว้ในพื้นที่หน่วยความจำที่จำกัด ซึ่งก็ไม่แน่ว่าจะเป็นไปได้ เมื่อเร็วๆนี้พี่ของเพื่อนที่ทำโปรเจคอยู่ ก็มาถามเกี่ยวกับโปรแกรมที่ใช้ Fortran ในการพัฒนาต่อจากรุ่นพี่ที่จบไปแล้ว
เมื่อถึงเวลาจริงๆ เราอาจจะสามารถแก้ไขล่วงหน้าได้โดยไม่มีปัญหาอะไรเกิดขึ้นก็ได้นะ