المطورين

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

سد الفجوة بين وقت Epoch والتواريخ البشرية. حوّل أي طابع زمني Unix إلى تاريخ مقروء، أو العكس — بالإضافة إلى عرض مباشر للطابع الزمني الحالي بنقرة واحدة.

هل ساعدتك هذه الأداة؟

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

محوّل طوابع الزمنية Unix هو أداة أساسية للمطورين تربط بين الوقت المحسوب بالآلة والتواريخ القابلة للقراءة. يقيس الوقت Unix عدد الثواني التي مضت منذ الأول من يناير 1970 الساعة 00:00:00 بتوقيت غرينتش — اللحظة التي تشغّل فيها نظام Unix لأول مرة على حاسوب PDP-11 في مختبرات بيل. يُعرف هذا التاريخ باسم عصر Unix ويخدم كنقطة الصفر العالمية لقياس الوقت في الحوسبة. يعمل المحوّل في اتجاهين: أدخل طابعًا زمنيًا (عادةً رقمًا مكوّنًا من 10 أرقام للثواني أو 13 رقمًا للمللي ثواني) لرؤية التاريخ المقابل القابل للقراءة، أو أدخل تاريخًا ووقتًا للحصول على الطابع الزمني المقابل له. يعرض طابعًا زمنيًا حيًا يتحدث كل ثانية حتى تتمكن من التقاط اللحظة بدقة. ت

متى تستخدم هذه الآلة الحاسبة

  • أنت تصحح خطأ في واجهة برمجة تُرجع طوابع زمنية Unix وتحتاج إلى قراءتها كتواريخ بشرية
  • أنت تكتب كوداً يخزن أو يقارن التواريخ وتحتاج إلى التحويل بين الطابع الزمني وتنسيق التاريخ
  • تحتاج إلى الطابع الزمني Unix الحالي لسجل أو استدعاء API أو سجل قاعدة بيانات
  • أنت تحلل سجلات الخادم حيث تكون الطوابع الزمنية بتنسيق epoch
  • تريد التحقق من أن طابعاً زمنياً في كودك يتوافق مع التاريخ والوقت الصحيحين
  • أنت تعمل مع قواعد بيانات أو أنظمة ملفات تستخدم الطوابع الزمنية Unix لبيانات الملفات

الخطوات:

  1. أدخل طابعاً زمنياً Unix لتحويله إلى تاريخ مقروء.
  2. أو أدخل تاريخاً/وقتاً لتحويله إلى طابع زمني Unix.
  3. انقر على زر الوقت الحالي للحصول على الطابع الزمني Unix الحالي.
  4. انسخ النتائج باستخدام زر النسخ.

الصيغة

طابع زمني → تاريخ: new Date(timestamp × 1000) تاريخ → طابع زمني: Math.floor(date.getTime() / 1000) عصر Unix: 1 يناير 1970 00:00:00 UTC أقصى طابع زمني 32 بت: 19 يناير 2038 (03:14:07 UTC)

حالات الاستخدام

  • تصحيح استجابات واجهة البرمجة التي تحتوي على طوابع زمنية
  • تحويل قيم الطوابع الزمنية في قواعد البيانات
  • تعيين تواريخ الانتهاء في الكود البرمجي
  • تحليل السجلات وتفسير بيانات السلاسل الزمنية

الفوائد الرئيسية

  • تحويل بين الطوابع الزمنية Unix والتواريخ القابلة للقراءة في كلا الاتجاهين فورًا
  • عرض طابع زمني حي يتحدث كل ثانية مع زر نسخ بنقرة واحدة
  • التبديل بين التوقيت العالمي المنسق والوقت المحلي للتحقق من القيم الحساسة للمنطقة الزمنية
  • معالجة كلا الصيغتين 10 أرقام (ثواني) و13 رقمًا (مللي ثواني) للطوابع الزمنية
  • معالجة الطوابع الزمنية السلبية للتواريخ ما قبل عصر Unix (ما قبل 1970)
  • مجاني وفوري ويعمل في متصفحك بدون تسجيل أو جمع بيانات

نصائح احترافية

  • خزّن الطوابع الزمنية دائمًا بتوقيت غرينتش في قواعد البيانات — حوّل إلى الوقت المحلي فقط عند طبقة العرض.
  • تذكر أن Date.now() في JavaScript تُرجع مللي الثواني. للحصول على الثواني: Math.floor(Date.now() / 1000).
  • استخدم أعدادًا صحيحة 64 بت لتخزين الطوابع الزمنية في الأنظمة الجديدة لتجنب مشكلة الـ overflow في عام 2038.
  • عند تصفية تواريخ غير متوقعة، تحقق أولاً مما إذا كان الطابع الزمني بالثواني أو بالمللي ثواني — الفارق عامل 1000.
  • لرموز مصادقة واجهة البرمجة أو روابط التوقيع، احسب طابع الصلاحية على الخادم وقارنه بالوقت Unix الحالي للتحقق من الصلاحية.

الأخطاء الشائعة التي يجب تجنبها

  • نسيان أن Date.now() في JavaScript تُرجع مللي الثواني — قسّم دائمًا على 1000 عند المقارنة مع الطوابع الزمنية القائمة على الثواني.
  • افتراض أن جميع واجهات البرمجة تستخدم نفس الصيغة — بعضها يُرجع ثوانيًا وبعضها يُرجع مللي ثواني. تحقق دائمًا من توثيق واجهة البرمجة.
  • عدم مراعاة الفروقات في المناطق الزمنية بين مكان إنشاء الطابع الزمني ومكان عرضه، مما يؤدي إلى تواريخ تبدو مختلفة بعدد من الساعات.
  • استخدام أعداد صحيحة 32 بت لتخزين الطوابع الزمنية في الأنظمة الجديدة بدلاً من 64 بت، مما سيحدث لها overflow في عام 2038 ويكسر التطبيق.

شرح المصطلحات الأساسية

الطابع الزمني Unix: عدد الثواني التي مضت منذ الأول من يناير 1970 الساعة 00:00:00 UTC (عصر Unix)
Epoch: نقطة المرجع لقياس الوقت في الحوسبة؛ بالنسبة لـ Unix، وهي الأول من يناير 1970 الساعة 00:00:00 UTC
التوقيت العالمي المنسق (UTC): المعيار الزمني الأساسي المستخدم عالميًا، المستقل عن أي منطقة زمنية
مشكلة عام 2038: التاريخ الذي تحدث فيه overflow الأعداد الصحيحة الموقّعة 32 بت للطوابع الزمنية Unix، مما يسبب التفاف الأنظمة إلى قيم سالبة وعرض تواريخ حوالي 1901.
طابع زمني مللي ثواني: طابع زمني Unix مكوّن من 13 رقمًا يُقاس الوقت فيه بالمللي ثواني بدلاً من الثواني، ويُستخدم بواسطة Date.now() في JavaScript ومعظم واجهات البرمجة الحديثة.

مفاهيم ذات صلة

  • عصر Unix: 1 يناير 1970 00:00:00 UTC، النقطة المرجعية التي تُقاس منها جميع الطوابع الزمنية Unix
  • وقت Epoch: نظام تمثيل الوقت كعدد ثوانٍ منصرمة منذ عصر Unix
  • UTC (التوقيت العالمي المنسق): المعيار الزمني الأساسي الذي تنظم به العالم الساعات والوقت، مستقل عن المنطقة الزمنية
  • مشكلة عام 2038: التاريخ الذي ستفيض فيه الطوابع الزمنية Unix 32 بت، مما قد يتسبب في تفسير الأنظمة للتاريخ على أنه 1901
  • ISO 8601: معيار دولي لتمثيل التواريخ والأوقات (مثل 2024-06-29T12:00:00Z) كبديل للطوابع الزمنية Unix

مثال

الطابع الزمني الحالي: 1719676800 → التاريخ: 29 يونيو 2024 12:00:00 مساءً UTC. تحويل تاريخ: "1 يناير 2025 00:00:00 UTC" → الطابع الزمني: 1735689600.

تفسير نتائجك

يعمل المحوّل في اتجاهين: إدخال طابع زمني Unix يمنحك التاريخ المقروء بشرياً، وإدخال تاريخ يمنحك الطابع الزمني Unix. يُعرض وقت Unix الحالي في الأعلى مع زر تحديث، لذا يمكنك دائماً رؤية الطابع الزمني المباشر دون كتابة أي شيء. تعد الطوابع الزمنية Unix الثواني منذ 1 يناير 1970 UTC (عصر Unix). وهي مستقلة عن المنطقة الزمنية — فالطابع الزمني نفسه يُمثِّل نفس اللحظة في كل مكان على الأرض. عند إدخال تاريخ، تستخدم الحاسبة إزاحة منطقتك الزمنية المحلية لحساب الطابع الزمني، لكن يمكنك التبديل إلى UTC إذا كنت تحتاج إلى نتائج محايدة زمنياً. تجدر معرفة مشكلة 2038: الأعداد الصحيحة الموقعة 32 بت تفيض في 19 يناير 2038، مما يعني أن الأنظمة القديمة التي تستخدم طوابع زمنية 32 بت ستلتف إلى قيم سالبة. تستخدم الأنظمة الحديثة طوابع زمنية 64 بت لن تفيض لمليارات السنين. إذا صادفت تواريخ غير متوقعة حول 1901 أو 2038، فتجاوز 32 بت هو السبب المرجح.

الأسئلة الشائعة

ما هو الطابع الزمني Unix؟
الطابع الزمني Unix هو عدد الثواني التي انقضت منذ 1 يناير 1970 الساعة 00:00:00 بتوقيت UTC (عصر Unix). إنه مرجع زمني عالمي يُستخدم في البرمجة والحوسبة.
لماذا الطوابع الزمنية مفيدة؟
توفر الطوابع الزمنية طريقة مستقلة عن المنطقة الزمنية لتخزين الأوقات ومقارنتها. تُستخدم في قواعد البيانات وواجهات البرمجة (APIs) والتسجيل وأي نظام يحتاج إلى تتبع دقيق للوقت.
ما هي مشكلة عام 2038؟
في 19 يناير 2038، ستفيض الطوابع الزمنية Unix ذات 32 بت لأن الحد الأقصى للعدد الصحيح الموقع 32 بت (2,147,483,647) سيتم تجاوزه. تستخدم الأنظمة الحديثة طوابع زمنية ذات 64 بت لتجنب هذه المشكلة.
ما الفرق بين الثواني والميلي ثانية في الطوابع الزمنية؟
الطوابع الزمنية Unix القياسية تكون بالثواني. تستخدم JavaScript والعديد من واجهات البرمجة الحديثة الملي ثانية (اضرب الثواني في 1000). إذا كنت تحصل على تواريخ غير متوقعة، تحقق مما إذا كان الطابع الزمني بالثواني أم بالملي ثانية — فطابع زمني بالملي ثانية يُفسَّر بالثواني سيظهر تاريخاً بعيداً في المستقبل، والعكس صحيح.
لماذا يعرض الطابع الزمني تاريخاً مختلفاً عما توقعته؟
الأسباب الأكثر شيوعاً هي: أن الطابع الزمني بالملي ثانية بدلاً من الثواني (أو العكس)، أو فرق المنطقة الزمنية بين مكان إنشاء الطابع الزمني ومكان عرضه، أو تجاوز 32 بت للقيم الكبيرة جداً أو الصغيرة جداً. بدّل بين UTC والوقت المحلي لاستبعاد مشاكل المنطقة الزمنية.
هل يمكنني تحويل الطوابع الزمنية التي تسبق عام 1970؟
نعم. الطوابع الزمنية التي تسبق 1 يناير 1970 تُُمثَّل بأرقام سالبة. على سبيل المثال، -86400 يُمثِّل 31 ديسمبر 1969 الساعة 00:00:00 بتوقيت UTC. تتعامل هذه الحاسبة مع الطوابع الزمنية السالبة بشكل صحيح.
ما التنسيق الذي تستخدمه قواعد البيانات عادةً للطوابع الزمنية؟
تدعم معظم قواعد البيانات العلائقية (PostgreSQL وMySQL) كلاً من الطوابع الزمنية Unix (كأعمدة عدد صحيح) وأنواع التاريخ/الطابع الزمني الأصلية. يُخزِّن TIMESTAMPTZ في PostgreSQL الطوابع الزمنية الواعية بالمنطقة الزمنية داخلياً. يعتمد الاختيار على احتياجات تطبيقك — فالطوابع الزمنية Unix أبسط للمقارنات، بينما أنواع التاريخ الأصلية أكثر قابلية للقراءة في الاستعلامات.
كيف أتعامل مع تحويلات المنطقة الزمنية مع الطوابع الزمنية Unix؟
الطوابع الزمنية Unix تكون دائماً بتوقيت UTC داخلياً. لعرضها بمنطقة زمنية محلية، طبّق إزاحة المنطقة الزمنية عند العرض. تحتوي معظم لغات البرمجة على دوال مدمجة لتحويل المنطقة الزمنية. في JavaScript: new Date(timestamp * 1000).toLocaleString('en-US', { timeZone: 'America/New_York' }).
ما هي القيمة القصوى للطابع الزمني Unix؟
يمكن للعدد الصحيح الموقع 64 بت تمثيل طوابع زمنية تصل إلى حوالي 292 مليار سنة من العصر — وهو ما يتجاوز بكثير عمر الكون. عملياً، لن تفيض الطوابع الزمنية 64 بت أبداً. الحد الأقصى 32 بت (2,147,483,647 ثانية) يتوافق مع 19 يناير 2038 الساعة 03:14:07 بتوقيت UTC.
لماذا تتخلى بعض الأنظمة عن الطوابع الزمنية Unix؟
تفقد الطوابع الزمنية Unix قابليتها للقراءة بالبشر ولا تتعامل مع الثواني الكبيسة وتغييرات المنطقة الزمنية وإصلاحات التقويم بسلاسة. سلاسل ISO 8601 (مثل 2024-06-29T12:00:00Z) موثقة ذاتياً وواعية بالمنطقة الزمنية. ومع ذلك، لا تزال الطوابع الزمنية Unix شائعة لبساطتها وإيجازها واستقلالها عن المنطقة الزمنية في التخزين والحساب.

اكتشف المزيد من الأدوات

تشكيلة جديدة من مكتبتنا الكاملة للأدوات.