وقت يونكس يعد الثواني منذ 1970
الطابع الزمني في يونكس هو عدد الثواني المنقضية منذ منتصف ليل التوقيت العالمي في أول يناير 1970. وهو لا يحمل منطقة زمنية ولا توقيتًا صيفيًا، ولهذا تخزّن الخوادم وقواعد البيانات اللحظات بهذه الطريقة. والتاريخ المقروء للإنسان هو ذلك الرقم معروضًا في منطقة بعينها.
عدد الخانات يكشف الوحدة. فعشر خانات تعني ثواني وثلاث عشرة خانة تعني ملّي ثانية. وجافاسكربت تعمل بالملّي ثانية بينما تعمل أدوات يونكس وكثير من قواعد البيانات بالثواني، فالضرب أو القسمة على ألف يتكرر باستمرار.
المعيار ISO 8601 هو الصيغة النصية القياسية، وتُكتب 2026-09-16T00:00:00Z. والحرف Z في آخرها يعني التوقيت العالمي، ويظهر إزاحة مثل +09:00 حين تُرفق منطقة. وتبادل التواريخ بهذه الصيغة يزيل الالتباس الناشئ عن اختلاف ترتيب اليوم والشهر والسنة بين البلدان.
أخطاء مصدرها المناطق الزمنية
الطابع الزمني بلا منطقة زمنية، لكن التاريخ الذي تقرؤه على الشاشة له منطقة. الرياض تسبق UTC بثلاث ساعات، فمنتصف ليل 16 سبتمبر بتوقيت UTC هو الثالثة فجرًا في الرياض، وما زال الثامنة مساء 15 سبتمبر في نيويورك. ومقارنة التواريخ وحدها هي مصدر الفرق الظاهر بيوم.
خلط الثواني بالملّي ثانية يقذف بالنتيجة إلى 1970 أو إلى عشرات الآلاف من السنين. فتحويل ينتهي إلى أول يناير 1970 يعني أن قيمة بالملّي ثانية قُرئت ثواني؛ وسنة في الخمسينات ألفًا تعني العكس.
مشكلة 2038 لا تمس إلا الأنظمة التي تعد الثواني في عدد صحيح بإشارة من 32 بتًا. فبعد 19 يناير 2038 تفيض القيمة وتصير سالبة. ومعظم البيئات الحالية تستخدم 64 بتًا، فلم تعد تظهر إلا في الأجهزة المدمجة القديمة وأعمدة قواعد البيانات الموروثة.