طابع Unix الزمني
ما هو طابع Unix الزمني (epoch time)؟
طابع Unix الزمني — ويُسمى أيضًا وقت Unix أو epoch time أو وقت POSIX — هو عدد الثواني المنقضية منذ 1 يناير 1970 عند الساعة 00:00:00 بالتوقيت العالمي المنسق (UTC)، وهي نقطة بداية تُسمى «الحقبة». إنه ببساطة قيمة رقمية تمثل تاريخًا ووقتًا دقيقين.
إنها أبسط طريقة للحاسوب لتمثيل تاريخ ووقت: عدد صحيح واحد، متطابق في كل مكان في العالم ومستقل عن المنطقة الزمنية. يوجد طابع Unix الزمني في قواعد البيانات وملفات السجلات وواجهات برمجة التطبيقات وأنظمة Linux ومعظم لغات البرمجة (PHP، JavaScript، Python، Java، SQL…).
مهم: يُحسب طابع Unix الزمني دائمًا بالتوقيت العالمي المنسق (UTC، قريب من غرينتش). وعند عرضه فقط يُترجم إلى منطقة زمنية للحصول على تاريخ ووقت «بشريين». فالرقم نفسه 1700000000 يوافق الساعة 23:13 في باريس، و17:13 في نيويورك، أو 7:13 صباحًا في اليوم التالي في طوكيو — إنها نفس اللحظة بالضبط، مقروءة بتوقيتات محلية مختلفة. تحويل طابع زمني إلى تاريخ، أو تاريخ إلى طابع زمني، يعني ببساطة اختيار المنطقة الزمنية للعرض.
لماذا نستخدم طابع Unix الزمني؟
تمثيل التاريخ والوقت برقم بسيط — الطابع الزمني — له مزايا عديدة للمطورين وقواعد البيانات والحواسيب:
ثوانٍ أم ميلي ثانية؟
حسب النظام، يُعبَّر عن الطابع الزمني بالثواني أو بالميلي ثانية.
تستخدم أنظمة Unix/Linux وPHP وMySQL عادةً الثواني (10 أرقام اليوم، مثلاً 1750166400). أما JavaScript والعديد من واجهات برمجة تطبيقات الويب فتستخدم الميلي ثانية (13 رقمًا، مثلاً 1750166400000).
لا داعي للقلق: يكتشف هذا المحوّل الوحدة تلقائيًا. إذا لصقت 13 رقمًا، فسيفهمها كميلي ثانية؛ وإلا فسيقرأها كثوانٍ.
بعض المراجع المفيدة
مشكلة عام 2038: الأنظمة التي تخزّن الطابع الزمني في عدد صحيح من 32 بت لن تتمكن من العدّ بعد 19 يناير 2038 عند الساعة 03:14:07 بالتوقيت العالمي المنسق. الأنظمة الحديثة (64 بت) غير متأثرة.