كيفية تحويل طوابع Unix الزمنية
طوابع Unix الزمنية هي الطريقة التي تخزّن بها أجهزة الكمبيوتر وتتبادل الوقت — رقم واحد يمثّل الثواني منذ 1 يناير 1970. تجدها في استجابات واجهات برمجة التطبيقات وسجلات قواعد البيانات وملفات السجل ورموز JWT. عندما تحتاج إلى معرفة التاريخ الذي يقابله 1711824000، تحتاج إلى محوّل.
كيف يبدو طابع Unix الزمني
| الطابع الزمني | النوع | التاريخ القابل للقراءة |
|---|---|---|
| 0 | ثوانٍ | 1 يناير 1970، 00:00:00 UTC |
| 1000000000 | ثوانٍ | 9 سبتمبر 2001، 01:46:40 UTC |
| 1711824000 | ثوانٍ | 31 مارس 2024، 00:00:00 UTC |
| 1711824000000 | مللي ثانية | 31 مارس 2024، 00:00:00 UTC |
الفرق بين الثواني والمللي ثانية هو ثلاثة أصفار إضافية. الرقم المكوَّن من 10 أرقام بالثواني؛ المكوَّن من 13 رقمًا بالمللي ثانية.
كيفية تحويل الطوابع الزمنية
- أدخل طابعًا زمنيًا أو تاريخًا — الصق طابع Unix زمنيًا لتحويله إلى تاريخ قابل للقراءة، أو أدخل تاريخًا للحصول على الطابع الزمني.
- تحقّق من التنسيق — يكتشف المحوّل تلقائيًا الثواني أو المللي ثانية حسب طول الرقم.
- اقرأ النتيجة — اطّلع على التاريخ في منطقتك الزمنية المحلية، وفي UTC، وبتنسيق ISO 8601.
أين تواجه الطوابع الزمنية
- استجابات واجهة برمجة التطبيقات — تعيد معظم واجهات REST API التواريخ كطوابع Unix زمنية:
"created_at": 1711824000 - رموز JWT — مطالبات
iat(تاريخ الإصدار) وexp(انتهاء الصلاحية) هي طوابع Unix زمنية - سجلات قواعد البيانات — تخزّن العديد من قواعد البيانات الطوابع الزمنية كأعداد صحيحة للفرز والمقارنة الفعّالَين
- ملفات السجل — تسبق سجلات الخادم الإدخالات غالبًا بطوابع epoch زمنية
- مهام cron — تشير أنظمة الجدولة إلى الوقت بتنسيق Unix
الطوابع الزمنية في الكود
تحويل سريع في اللغات الشائعة:
JavaScript: new Date(1711824000 * 1000) (يستخدم JS المللي ثانية)
Python: datetime.fromtimestamp(1711824000)
الوقت الحالي: Date.now() (JS)، time.time() (Python)
نصائح
- اضرب في 1000 لـ JavaScript — يتوقّع كائن
Dateفي JS المللي ثانية، لكن معظم واجهات برمجة التطبيقات تعيد الثواني. نسيان الضرب هو أكثر أخطاء الطوابع الزمنية شيوعًا. - حدّد دائمًا UTC — عند التحويل، كن صريحًا بشأن المنطقة. «31 مارس في منتصف الليل» هو طابع زمني مختلف حسب ما إذا كان UTC أو EST أو PST.
- استخدم ISO 8601 للعرض — بعد التحويل، نسّق التواريخ في
2024-03-31T00:00:00Zللتواصل غير الغامض عبر المناطق الزمنية. - أضف المحوّل إلى المفضلة — إذا كنت تعمل مع واجهات برمجة التطبيقات أو قواعد البيانات، ستحوّل بشكل متكرّر بما يكفي لتريد الأداة بنقرة واحدة.
الأسئلة الشائعة
ما هو وقت Unix epoch؟
وقت Unix epoch (يسمى أيضًا وقت POSIX أو طابع Unix الزمني) هو عدد الثواني المنقضية منذ 1 يناير 1970 الساعة 00:00:00 UTC. إنها الطريقة القياسية التي تمثّل بها أجهزة الكمبيوتر الوقت داخليًا.
ما الفرق بين الطوابع الزمنية بالثواني والمللي ثانية؟
تتكوّن طوابع Unix الزمنية بالثواني من 10 أرقام (مثل 1711824000). تتكوّن الطوابع الزمنية بالمللي ثانية من 13 رقمًا (مثل 1711824000000). يستخدم JavaScript المللي ثانية، وتستخدم معظم واجهات برمجة التطبيقات وقواعد البيانات الثواني. يكتشف المحوّل تلقائيًا حسب الطول.
لماذا وقتي المحوَّل متأخر بساعات؟
الطوابع الزمنية دائمًا بـ UTC. يعرض المحوّل كلًا من UTC ووقتك المحلي. إذا لم تتطابق النتيجة مع توقّعاتك، فمن المحتمل أنك تقارن مخرج UTC بوقت محلي، أو العكس.
ماذا يحدث في 2038؟
ستفيض الأنظمة التي تخزّن طوابع Unix الزمنية كعدد صحيح موقَّع 32 بت في 19 يناير 2038. تستخدم معظم الأنظمة الحديثة أعدادًا صحيحة 64 بت، مما يوسّع النطاق إلى ما هو أبعد من أي قلق عملي.