العربية

أدوات المطور · محول الطابع الزمني يونكس

UTC و GMT و TAI: ما هو الطابع الزمني الذي يتم احتسابه فعليًا

· خلفية

الطوابع الزمنية وقت يونكس المناطق الزمنية

ثلاثة مسارات زمنية متوازية مع تمييز مسار تحويل Unix
الرسم التوضيحي المتجه الأصلي ToolAcre

غالبًا ما يتم التعامل مع GMT وUTC وTAI كمرادفات، ولكنها ثلاثة أشياء مختلفة لها تاريخ مختلف. يشرح هذا المنشور كل واحد منهم وأي منهم يتبعه فعليًا محولات وقت Unix والمحولات اليومية.

ثلاثة أسماء على خادم واحد - GMT في رأس التاريخ، UTC في السجلات وTAI في ورقة بحثية، كل ذلك في نفس الثانية

يمكن للخادم إظهار "GMT" في أحد البروتوكولات، و"UTC" في السجلات ومقياس زمني آخر في البيانات العلمية. لا تمنح تسميات الساعة المشابهة إمكانية التبادل. المهمة الأولى هي تحديد العقد خلف كل حقل بدلاً من إعادة تسمية كل شيء UTC في طبقة العرض التقديمي.

عقد ToolAcre صريح: تصبح الثواني أو المللي ثانية في Unix عبارة عن سلسلة ISO 8601 UTC، وصف UTC قابل للقراءة، وصف محلي للمتصفح. ليس لديها محدد النطاق. يجب تحويل أي عدد غير خاص بنظام Unix باستخدام التعريف المعتمد الخاص به قبل أن يصبح هذا المسار ذا صلة.

مقياس سجلات الجرد المفيد والتسلسل بجانب كل حقل. ولا ينبغي أن تمحو التصنيفات المماثلة المصدر، لا سيما عندما تتجاوز البيانات الأنظمة العلمية والتطبيقية.

توقيت غرينتش - يعني التوقيت الشمسي عند خط الطول، وتاريخه كمرجع عالمي، ولماذا أصبح الآن منطقة زمنية بدلاً من أن يكون معيارًا

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

من الناحية التشغيلية، إذا كان الإدخال يقول GMT، فافحص البروتوكول المحدد. لا يزال من الممكن أن تحمل تسمية الساعة التي تظهر مكافئة لتواريخ التقديم العادية قواعد نحوية أو متطلبات سياسة محددة. ToolAcre يُخرج تسميات UTC ويجب ألا يتم تقديمه كمحلل أو منسق GMT.

إذا كانت إمكانية التشغيل البيني تعتمد على المصطلح، فقم بربط مواصفات التحكم في مراجعة التعليمات البرمجية. لا ينبغي أبدًا أن يمثل ملصق العرض بصمت متطلبات تنسيق السلك.

GMT التاريخ والوضع القانوني خارج دليل المستودع

يتم إنشاء الصف UTC بواسطة `Intl.DateTimeFormat` باستخدام `timeZone: "UTC"`؛ الصف ISO يأتي من `toISOString()`. تثبت هذه الاستدعاءات كيف تقوم هذه الواجهة بتسمية قراءتها العالمية. وهي لا توثق متى تم اعتماد UTC أو الآلية المؤسسية التي تقف وراءه.

لتصحيح الأخطاء، تكفي التسمية لإنشاء مرجع مشترك مستقل عن المنطقة المحلية الحالية. قارن ISO بين السلاسل أو قيم العصر بين الأنظمة. إذا كان المصدر يستخدم مقياسًا آخر، فأثبت أولاً العلاقة بدلاً من افتراض أن التاريخ المألوف يعني العد المتطابق.

يعد الإخراج UTC الأساسي مفيدًا بشكل خاص لمقارنة البيئات لأنه يزيل تحديد المنطقة المحلية. ومع ذلك، فإنه لا يقوم بتحويل المدخلات من مقياس زمني غير معلن.

يقوم المحول بتسمية UTC لكنه لا يوثق تاريخ تعريف UTC

التوقيت الذري الدولي غير ممثل في الكود أو التكوين أو الاختبارات. لا تظهر هنا أي إزاحة حالية أو فجوة تاريخية أو خوارزمية تحويل. إن توفير مثل هذا الثابت من الذاكرة سيكون بالضبط نوع الوقت الدقيق الذي تحظره المهمة.

احتفظ بالقيمة التي تحمل علامة TAI كـ TAI حتى تقوم مكتبة أو مصدر موثوق بإجراء التحويل لتاريخه. يؤدي لصقها مباشرة كثواني Unix إلى تطبيق الأصل أو المقياس الخاطئ بصمت ولا يزال من الممكن أن يؤدي إلى سلسلة مصقولة ISO. سهولة القراءة ليست التحقق من الصحة.

يجب أن يتضمن التحويل الخارجي اسم المقياس في أسماء المتغيرات والأنواع. يؤدي مسح هذا التصنيف قبل إجراء العمليات الحسابية إلى جعل نتيجة ISO المعقولة اللاحقة مستحيلة التدقيق.

لم يتم تنفيذ TAI، لذا لم يتم تأكيد أي فجوة أو ثابت تحويل

يتقدم نموذج Unix الذي تم اختباره من قيمة العصر 1,483,228,799 عند `2016-12-31T23:59:59Z` إلى 1,483,228,800 عند منتصف الليل. لا يحتوي على إدخال مميز لـ `23:59:60`. هذا هو المعنى الملموس لسلوك النمط POSIX في هذا التنفيذ.

من المعقول أن نقول أن المحول يعين Unix يعتمد على المخرجات المدنية المسمى UTC بموجب هذه القاعدة. سيكون من المضلل أن نطلق على هذا العدد الصحيح عددًا دقيقًا من الثواني الذرية عبر كل قفزة تاريخية. تقوم الأداة بإنشاء تاريخ برمجي، وليس قياسًا للنطاق الزمني في المختبر.

التمييز دقيق ولكنه عملي: ترث حسابات التسلسل اتفاقية Unix، بينما يرث العرض المدني تنسيق التاريخ والتنسيق الدولي. ولا يكشف أي من المسارين عن بيانات تعريف الزمن الذري.

يقوم نموذج Unix الذي تم اختباره بتعيين الثواني ذات النمط POSIX إلى تسميات UTC بدون قيمة ثانية كبيسة

تتطلب أمثلة المصنف HTTP والوقت القانوني البريطاني بروتوكولًا خارجيًا ومصادر قانونية. تم حذفها. عند تنفيذ رأس أو سجل منظم، اتبع المواصفات الفعلية بدلاً من اختيار صياغة UTC أو GMT بناءً على التكافؤ العامي.

ضمن هذه الوحدة، قد يظهر `GMT` كجزء من عرض الإزاحة القصيرة لـ Intl للإزاحة الصفرية، ولكن هذا هو مخرجات المنسق، وليس وعدًا بإنشاء تاريخ بروتوكول. حافظ على فصل واجهة المستخدم عن التسلسل السلكي والمصطلحات القانونية.

لا يعد المنسق الذي يقوم بإرجاع تسمية الإزاحة الصفرية بمثابة التحقق من صحة البروتوكول بشكل كافٍ. اختبر الرأس المتسلسل الكامل أو السجل المنظم باستخدام المحلل اللغوي والتركيبات المخصصة له.

يتطلب البروتوكول والاستخدامات القانونية لـ GMT مصادر خارجية ويتم حذفها

GPS مقاييس الوقت والتاريخ الفلكي خارج الأوضاع المقبولة. توفر واجهة المستخدم الثواني أو المللي ثانية أو الكشف التلقائي فقط، وتفترض كلتا الوحدتين المدعومتين عصر Unix. لا يوجد مربع اختيار يغير الأصل أو اصطلاح القفزة.

يجب أن يحمل الرقم من مقياس آخر ملصقًا من خلال الابتلاع والتخزين. قم بالتحويل باستخدام طريقة مصممة خصيصًا لهذا الغرض من مصادر واحتفظ بالنسخة الأصلية. تنتمي قيمة Unix المشتقة فقط إلى هذه اللوحة؛ وإلا فإن النتيجة المعقولة يمكن أن تخفي عدم تطابق أساسي.

يعد رفض مقياس غير مدعوم أكثر أمانًا من تقديم ثابت محسوس. يمكن أن تكون إزاحات النطاق الزمني حساسة للتاريخ، ويمكن للدقة الزائفة هنا إعادة ترتيب الملاحظات العلمية.

GPS والمقاييس الفلكية غير مقبولة

قل UTC عند الإشارة إلى الصف العام لـ ToolAcre لأن هذا هو ما يطلبه المصدر وتسميات واجهة المستخدم. قل ثواني أو ميلي ثانية لنظام Unix للإدخال الرقمي. تجنب العبارات العامة التي تدمج UTC وGMT والوقت الذري في مترادفات.

الدقة في التسمية هي أداة تصحيح الأخطاء. وهو يحدد التحولات المطلوبة والمطالبات التي لم يتم التحقق منها. يوفر هذا المحول دليلاً قويًا لمسار واحد — عدد Unix إلى عرض UTC/local — ولا يقدم أي شيء عن قصد للمقاييس غير ذات الصلة.

عند كتابة الوثائق، قم بإرفاق كل مصطلح بحقل أو منسق محدد. الادعاءات الغامضة بأن الثلاثة "يعنيون نفس الوقت" يخفون مسؤوليات التحول الدقيقة.