وقت يونكس (Unix timestamp) هو عدد الثواني التي مرّت منذ 1 يناير 1970 الساعة 00:00:00 بتوقيت UTC. يُسمّى هذا التاريخ "حقبة يونكس"، وهو نقطة الإسناد التي تعتمدها عمليًا كل أنظمة التشغيل وقواعد البيانات ولغات البرمجة الحديثة لحساب الوقت.
لماذا عام 1970 تحديدًا
لم يُختَر التاريخ بسبب حدث معيّن، بل لدواعٍ عملية بحتة: أخذ مطوّرو يونكس في مختبرات Bell Labs في أوائل السبعينيات السنة الجارية آنذاك كنقطة انطلاق مستديرة ومريحة. لا يوجد معنى أعمق وراء هذا التاريخ.
لماذا هذه الصيغة منتشرة في أنظمة القطاع المصرفي والصناعي
تعتمد أنظمة كثيرة في قطاعي المصارف والطاقة على معدات تحكّم صناعي (SCADA) وخوادم قديمة تعمل لعقود دون توقف تقريبًا، وتستخدم وقت يونكس كصيغة تسجيل داخلية لأنها تبسّط مقارنة الأحداث وترتيبها زمنيًا دون التعامل المباشر مع فروق المناطق الزمنية بين مواقع التشغيل المختلفة.
مشكلة عام 2038
تخزّن أنظمة قديمة كثيرة وقت يونكس كعدد صحيح موقّع من 32 بت، لا يمكنه تمثيل قيم إلا حتى 19 يناير 2038. بعد هذا التاريخ سيفيض هذا الرقم — وهذه ليست مشكلة نظرية فقط، فبعض المعدات الصناعية والأجهزة المدمجة القديمة لا تزال تعمل في الخدمة الفعلية دون تحديث برمجيات منذ سنوات طويلة.
لماذا نحتاج هذا
- تحويل طابع زمني من السجلات أو استجابات API إلى تاريخ ووقت مفهومَين.
- حساب الفرق بين لحظتين زمنيتين دون حسابات تقويمية يدوية.
- تشخيص مشكلات متعلقة بالمناطق الزمنية عند العمل مع الطوابع الزمنية.
وقت يونكس والثواني الكبيسة
يفترض وقت يونكس أن كل يوم يساوي بالضبط 86400 ثانية، متجاهلًا الثواني الكبيسة التي تُضاف أحيانًا إلى UTC لتعويض تباطؤ دوران الأرض. هذا يعني أن وقت يونكس ليس تمثيلًا دقيقًا تقنيًا لتوقيت UTC في لحظات إضافة الثانية الكبيسة — تكتفي معظم الأنظمة بـ"تمديد" أو تكرار ثانية واحدة لتجنب أي قفزة في العداد.