Menu
العربية

محوّل طابع زمني Unix

حوّل بين طوابع Unix وISO 8601 وUTC والوقت المحلي.

Last updated

الوحدة
الآن
المدخلطابع زمني صالح
المخرجانقر أي قيمة للنسخ
  • Unix (ث)1777240050
  • Unix (مل ث)1777240050000
  • ISO 8601 (UTC)2026-04-26T21:47:30.000Z
  • محلي2026-04-26 21:47:30
  • UTCSun, 26 Apr 2026 21:47:30 GMT
  • نسبي

ما هو محوّل الطابع الزمني Unix؟

محوّل الطابع الزمني Unix يحوّل *وقت Epoch* — أي رقم واحد يمثّل لحظة بعينها — إلى تاريخ مقروء، ويعيد تحويل التواريخ إلى أرقام. المطوّر يصادف الطوابع الزمنية في كل مكان: أعمدة قواعد البيانات، سطور السجلات، استجابات الـ APIs، أحداث التحليلات، حقل exp في JWT، مشغّلات الجدولة، وترويسات انتهاء الكاش.

الفكرة بسيطة: الحاسوب يخزّن الوقت كرقم (ثوانٍ أو ميلي ثانية منذ 1970-01-01 00:00:00 UTC)، لكن البشر يحتاجون تقاويم ومناطق زمنية وصيغًا مقروءة. التحويل بين الاثنين من أكثر مهام التنقيح شيوعًا في أي تطبيق ويب أو موبايل.

أكثر نقطة تربك المطوّرين هي *الوحدة*. POSIX ومعظم لغات الـ backend تستخدم الثواني. JavaScript و Java وعدد من وسطاء الرسائل يستخدمون الميلي ثانية. بعض أنظمة المقاييس تستخدم ميكرو ثانية أو نانو ثانية. الرقم المكوّن من 10 خانات يكون غالبًا بالثواني، والمكوّن من 13 خانة يكون غالبًا بالميلي ثانية.

ماذا ستتعلّم وأنت تحوّل الطوابع الزمنية

  • طوابع Unix الزمنية تقيس الوقت بـ *الثواني* أو *الميلي ثانية* منذ بداية حقبة Unix (1970-01-01 00:00:00 UTC).
  • UTC مرجع ثابت لا يتغيّر. أمّا التوقيت المحلي فيعتمد على المنطقة الزمنية للمستخدم وقواعد التوقيت الصيفي وإعداد ساعة الجهاز.
  • صيغة ISO 8601 (2026-04-25T12:00:00Z) تنسيق نصّي قابل للنقل. حرف Z (أو +00:00) في النهاية يعني UTC، بينما إزاحة مثل +02:00 تعني توقيتًا محليًا يسبق UTC بساعتين.

كيفية تحويل طابع Unix الزمني خطوة بخطوة

  1. ألصق القيمة

    ألصق رقمًا (بالثواني أو الميلي ثانية) أو سلسلة تاريخ. المحوّل يكتشف الصيغة تلقائيًا اعتمادًا على طول الرقم وشكله.

  2. تأكّد من الوحدة

    بدّل بين الثواني والميلي ثانية إذا أخطأ الاكتشاف التلقائي — الرقم ذو 10 خانات بالثواني، وذو 13 خانة بالميلي ثانية.

  3. اقرأ كلا العرضين

    تظهر النتيجة بصيغة ISO 8601 بتوقيت UTC، وبتوقيتك المحلي، وبعبارة نسبية مقروءة (قبل 3 ساعات، بعد يومين).

  4. انسخ ما تحتاجه

    انسخ الطابع الزمني أو سلسلة ISO أو التوقيت المحلي مباشرة. مفيد عند تعبئة حقل exp في JWT أو سجل في قاعدة بيانات أو استعلام بحث في السجلات.

مرجع سريع لصيغ الطوابع الزمنية

أكثر الصيغ التي ستراها عند التعامل مع التواريخ والأوقات في الكود. صيغة ISO 8601 معتمدة أيضًا من IETF عبر RFC 3339 للاستخدام في البروتوكولات.

الصيغةمثالأين تصادفها
Unix بالثواني1777118400سجلات الـ backend، حقل exp في JWT، دالة time() في POSIX، Redis
Unix بالميلي ثانية1777118400000Date.now() في JavaScript وSystem.currentTimeMillis() في Java
ISO 8601 بتوقيت UTC2026-04-25T12:00:00ZREST APIs و JSON و GraphQL وملفات السجلات
ISO 8601 مع إزاحة2026-04-25T14:00:00+02:00جدولة الأحداث الموجّهة للمستخدم، دعوات التقويم
RFC 2822Sat, 25 Apr 2026 12:00:00 GMTترويسات البريد الإلكتروني، ترويسات HTTP مثل Date و Last-Modified
تاريخ فقط2026-04-25أعياد الميلاد والمناسبات — بدون أي دلالة على المنطقة الزمنية

أمثلة طوابع زمنية للتجربة

الثواني مقابل الميلي ثانية

ثوانٍ (10 خانات)

1777118400

ميلي ثانية (13 خانة)

1777118400000

كلتا القيمتين تصفان اللحظة نفسها إذا فُسّرت الأولى بالثواني والثانية بالميلي ثانية. الخلط بينهما من أكثر أخطاء الطوابع الزمنية شيوعًا.

قراءة طابع زمني من API

الاستجابة
{  "id": 42,  "createdAt": 1777118400,  "expiresAt": 1777204800}

حوّل كل قيمة قبل أن تفترض إن كانت في الماضي أو في المستقبل. معظم واجهات JSON تستخدم Unix بالثواني، لكن راجع التوثيق دائمًا — كثير من الـ backends المبنية على JavaScript تُرجع الميلي ثانية.

مقارنة UTC بالتوقيت المحلي

UTC

2026-04-25T12:00:00Z

اللحظة نفسها بإزاحة +02:00

2026-04-25T14:00:00+02:00

السلسلتان تمثّلان *اللحظة ذاتها*. خزّن اللحظات دائمًا بـ UTC، ولا تنسّقها للتوقيت المحلي إلا عند العرض.

أخطاء شائعة مع الطوابع الزمنية

  • الخلط بين الثواني والميلي ثانية. عامل الـ 1000 قد يزيح التاريخ بعقود — 1700000000 إذا قُرئ كثوانٍ يكون نوفمبر 2023، وإذا قُرئ كميلي ثانية يصبح يناير 1970.
  • تخزين سلسلة تاريخ بدون منطقة زمنية. كل نظام سيفسّرها بطريقة مختلفة — بعضها يفترض UTC وبعضها يفترض المنطقة المحلية للخادم.
  • مقارنة سلاسل التواريخ المنسّقة ('2026-04-25') بدلًا من مقارنة الطوابع الزمنية. سلسلتان ISO صحيحتان قد تصفان اللحظة نفسها بصيغتين مختلفتين.

أسئلة شائعة حول طابع Unix الزمني

ما هو طابع Unix الزمني؟
طابع Unix الزمني (يُسمّى أيضًا epoch time) هو عدد الثواني (أو الميلي ثانية) المنقضية منذ 1970-01-01 00:00:00 UTC. هو رقم واحد يمثّل لحظة محدّدة في الزمن، مستقلًا عن أي منطقة زمنية.
لماذا بعض الطوابع من 10 خانات وأخرى من 13؟
الطابع المكوّن من 10 خانات بالثواني، والمكوّن من 13 خانة بالميلي ثانية. دالة Date.now() في JavaScript تُرجع ميلي ثانية، بينما معظم الـ backends تُرجع ثوانٍ.
ما معنى UTC؟
UTC اختصار لـ Coordinated Universal Time أي التوقيت العالمي المنسّق. هو المرجع الزمني العالمي ولا يتأثر بالتوقيت الصيفي. يُفترض أن تخزّن قواعد البيانات وواجهات الـ APIs والسجلات أوقاتها بـ UTC.
لماذا تستخدم JavaScript الميلي ثانية؟
كائن Date في JavaScript يخزّن الطوابع الزمنية كميلي ثانية منذ بداية حقبة Unix — وهذه القيمة التي تُرجعها Date.now() وnew Date().getTime(). تمنح دقة أعلى من الثواني، لكنها مصدر متكرّر لأخطاء الفرق بـ 1000 عند التواصل مع لغات أخرى.
كيف أحوّل طابع Unix الزمني إلى تاريخ؟
اضرب القيمة في 1000 (إذا كانت بالثواني) ومرّرها إلى new Date(...) في JavaScript، أو استخدم datetime.fromtimestamp(...) في Python. أو ألصقها في محوّل طابع Unix الزمني للحصول على النتيجة بنقرة واحدة.
هل ستفيض طوابع Unix الزمنية؟
طوابع Unix الزمنية ذات 32 بت بإشارة ستفيض في 2038-01-19 — ما يُعرف بمشكلة عام 2038. اللغات وقواعد البيانات الحديثة تخزّن الطوابع كأعداد صحيحة بـ 64 بت، ما يمدّد المدى الآمن لمئات المليارات من السنين.

اعرف المزيد

أدوات مطورين أخرى

تعلّم البرمجة مع Coddy

ابدأ الآن