ما هو
الطابع الزمني Unix هو عدد الثواني المنقضية منذ الساعة 00:00:00 UTC في 1 يناير 1970، المسماة حقبة Unix. وهو الرقم نفسه في كل العالم في اللحظة نفسها، لذلك تستخدمه واجهات API والسجلات وقواعد البيانات. مثلًا، 1700000000 هو 14 نوفمبر 2023 الساعة 22:13:20 UTC.
ثوانٍ أم مللي ثوانٍ؟
الطابع الزمني بالثواني فيه اليوم 10 أرقام. وتستخدم JavaScript وJava وكثير من واجهات API المللي ثواني، وفيها 13 رقمًا. إن ظهر التاريخ في 1970 أو بعد آلاف السنين في المستقبل، فالوحدة غالبًا خاطئة.
حوّله عبر الإنترنت
الصقه في محوّل الطابع الزمني Unix. يكتشف الثواني أو المللي ثواني ويعرض التاريخ بتوقيت UTC وبمنطقتك الزمنية.
في الشيفرة وجداول البيانات
- JavaScript:
new Date(1700000000 * 1000) - Python:
datetime.fromtimestamp(1700000000, tz=timezone.utc) - Excel:
=A1/86400+DATE(1970,1,1)ونسّق الخلية كتاريخ. النتيجة بتوقيت UTC. - سطر أوامر Mac أو Linux، الوقت الحالي:
date +%s
مشكلة عام 2038
الأنظمة التي تحفظ الطابع الزمني كعدد صحيح بإشارة من 32 بت ينفد هامشها في 19 يناير 2038 الساعة 03:14:07 UTC. الأنظمة الحديثة تستخدم 64 بت، تكفي مليارات السنين.
أمثلة عملية
0هو 1 يناير 1970، 00:00:00 UTC.86400بعده بيوم واحد بالضبط، أي 2 يناير 1970.-86400قبله بيوم، أي 31 ديسمبر 1969. والطوابع السالبة تواريخ سابقة لعام 1970.2000000000هو 18 مايو 2033، 03:33:20 UTC.
أخطاء شائعة
- الظن بأن للطابع الزمني منطقة زمنية. ليس له. 1700000000 هي اللحظة نفسها في كل مكان؛ لا يتغير إلا طريقة عرضها بحسب المنطقة الزمنية.
- إنشاء طابع زمني من التوقيت المحلي كأنه UTC. تنحرف النتيجة بمقدار فرقك عن UTC، غالبًا بساعات كاملة. تحقق من تاريخ معروف بعد التحويل.
- الأشهر في JavaScript.
new Date(2026, 0, 15)هو 15 يناير: تُعدّ الأشهر من 0. - الثواني الكبيسة. يعامل توقيت Unix كل يوم على أنه 86,400 ثانية بالضبط ويتجاهل الثواني الكبيسة، فهو لا يعدّ كل ثانية مرت.