محول الطابع الزمني
حوّل طوابع Unix الزمنية إلى تواريخ قابلة للقراءة والعكس، ويبقى الاتجاهان متزامنين أثناء تعديل أيّ منهما.
طابع Unix الزمني
التاريخ والوقت
ما هو الطابع الزمني Unix؟
ثوانٍ (أو ميلي ثانية) منذ 1 يناير 1970.
حِقبة Unix هي منتصف ليل UTC يوم 1 يناير 1970. الطابع الزمني هو ببساطة عدد الثواني (أو الميلي ثانية) المنقضية منذ ذلك الحين، ولهذا يُرتَّب ويُقارَن كرقم عادي، بخلاف سلسلة تاريخ منسّقة.
الفرق بين الثواني والميلي ثانية
يستخدم Unix وLinux ومعظم واجهات برمجة التطبيقات الخلفية الثواني. تستخدم Date.now() الخاصة بجافاسكريبت ومعظم كود الواجهة الأمامية الميلي ثانية. الخلط بينهما واحد من أكثر أخطاء الطابع الزمني شيوعًا، فقيمة «ثوانٍ» تُلصَق في حقل «ميلي ثانية» تهبط في مكان ما في عام 1970.
كيف يعمل
يمرّ كل شيء عبر كائن Date الخاص بالمتصفح، الذي يخزّن داخليًا رقمًا واحدًا: الميلي ثانية منذ حِقبة Unix، منتصف ليل UTC يوم 1 يناير 1970. عند تحويل طابع زمني، تضرب الأداة في 1000 إذا اخترت الثواني، وتبني كائن Date، ثم تعرضه بأربع طرق: توقيتك المحلي عبر toLocaleString (منسّق Intl الخاص بالمتصفح، باستخدام منطقتك الزمنية ولغتك)، وUTC، وISO 8601، وتسمية نسبية مثل «بعد 3 أيام / منذ ساعتين» تُحسَب بتصنيف الفرق عن الآن إلى سنوات أو أشهر أو أيام أو ساعات أو دقائق أو ثوانٍ.
في الاتجاه الآخر، تُفسَّر قيمة منتقي التاريخ كتوقيت محلي وتُحوَّل مرة أخرى إلى كل من الثواني والميلي ثانية. يُغذَّى حقل datetime-local بإزاحة الطابع الزمني أولًا بفارق منطقتك الزمنية، وهو الجزء الدقيق الذي تخطئ فيه معظم أدوات التحويل بشكل خفي: toISOString() يتحدث دائمًا بتوقيت UTC، فبدون تلك الإزاحة سيعرض المنتقي وقتًا يفصله ساعات عن الوقت الفعلي الذي تتوقعه.
الخطأ الكلاسيكي الذي تحمي منه هذه الأداة بجعل الوحدة صريحة: ثوانٍ مقابل ميلي ثانية. أوقات Unix الحالية مكوّنة من 10 أرقام بالثواني و13 رقمًا بالميلي ثانية. حلّل قيمة بالميلي ثانية كثوانٍ وستهبط بعد أكثر من 50,000 سنة في المستقبل؛ افعل العكس وستحصل على يناير 1970. إذا بدا التحويل غير منطقي، بدّل القائمة المنسدلة للوحدة، فهذا يحل المشكلة في الغالب دائمًا. القيم خارج النطاق (تواريخ جافاسكريبت محدودة بـ 100 مليون يوم على جانبي الحِقبة، أي حوالي عام 275760) تُنتِج خطأً واضحًا بدلاً من نتيجة عشوائية.
كل التحليل والتنسيق هو عمل واجهة برمجة تطبيقات محلية في المتصفح. افتح لسان Network في أدوات المطوّر أثناء التحويل: لن يُطلَق أي طلب، والطوابع الزمنية من سجلاتك لن تغادر جهازك أبدًا.