أدوات المطور · محول الطابع الزمني يونكس
ليست كل فترة 1970: NTP، Windows FILETIME، GPS وتواريخ Excel
· خلفية
الطوابع الزمنية تنسيقات البيانات تصحيح الأخطاء
أصل Unix 1970 هو واحد فقط من أصل العديد. يستعرض هذا المنشور العصور التي ستقابلها في الملفات والبروتوكولات (1900، 1601، 1904، 1980، 2001) ويوضح كيفية التعرف على قيمة لم تكن موجودة في نظام Unix على الإطلاق.
الطابع الزمني الذي وصل إلى 1900 — قيمة من التقاط شبكة لا يمكن لأي خيار وحدة أن يجعلها معقولة
يمكن لرقم من التقاط الحزمة أن ينتج هراءًا في كل من الثواني والمللي ثانية لأن الوحدة ليست المعلمة المخفية الوحيدة. Epoch تعني نقطة الصفر المختارة؛ يستخدم Unix 1970، بينما قد يتم احتساب بروتوكول آخر من مكان آخر. لا يمكن لإعادة القياس إصلاح الأصل الخاطئ.
عندما تتعارض قراءتا ToolAcre مع وقت الحدث المعروف، توقف عن التبديل. تحديد اسم الحقل والمنتج وإصدار البروتوكول والأصل الموثق. إن قص الأرقام بشكل متكرر حتى تظهر سنة معقولة يحول التحقيق إلى صدفة.
وينطبق نفس التشخيص عندما يظهر تاريخ معقول ولكنه يتعارض مع الأحداث المحيطة. المعقولية هي فحص ضعيف. المصدر والحدث المرجعي المعروف أقوى.
NTP و 1900 — الثواني منذ 1900-01-01 بكسر 32 بت، ويجلب التمرير 2036
قدم المصنف أصل NTP والتخطيط الجزئي وتاريخ التمديد. لم يتم تطبيق أو اختبار أي منها في محول Unix، لذا فإن هذه المقالة لا تصادق على هذه التفاصيل. يجب فك تشفير التقاط الشبكة وفقًا لوثائق البروتوكول التي يستخدمها المرسل والمحلل اللغوي.
فقط بعد اشتقاق ثواني Unix يجب أن تدخل القيمة إلى هذه الأداة. احتفظ بسياق العصر أو التغيير لأن أحد الحقول ذات العرض الثابت قد لا يتعرف عليه بمفرده. يمكن أن تكون نتيجة UTC المصقولة من حقبة مفترضة متسقة داخليًا وخاطئة من الخارج.
يمكن لحقول البروتوكول أيضًا تقسيم المكونات الكاملة والكسرية. يؤدي تسلسلها أو تفكيكها بدون المقياس المحدد إلى إنشاء رقم جديد لم يقصده أي وحدة فك ترميز متوافقة.
NTP تتطلب تفاصيل التحويل وسلوك التمرير وثائق المصدر غير موجودة هنا
وبالمثل، فإن العدادات المسماة Windows و.NET ليست أوضاعًا مقبولة. لا يحتوي المستودع على ثوابت لأصولها أو مقاييس التجزئة. قد تتجاوز قيمها العشرية الكبيرة النطاق الصحيح الدقيق لـ JavaScript قبل أن يحاول المطور التحويل.
استخدم مكتبة آمنة للأعداد الصحيحة ترتكز على التعريف الموثق للنظام الأساسي، واحتفظ بالأصل كنص أو عدد صحيح عريض، ثم قم بإصدار قيمة Unix. لا تطرح الإزاحة التي تم تذكرها في النقطة العائمة. الدقة عند الحد الأدنى مهمة عندما تكون دقة المصدر أدق من المللي ثانية.
يجب أن يتضمن اختبار الذهاب والإياب قيمة ذات أرقام فرعية غير صفرية. لا يمكن لتركيبات الثانية الكاملة الكشف عما إذا كان قد تم الاحتفاظ بالباقي 100-نانو ثانية أو ميلي ثانية بشكل صحيح.
لا يتم تنفيذ تعريفات FILETIME و.NET بواسطة ToolAcre ولا يتم تأكيدها من الذاكرة
تقدم تواريخ جدول البيانات تمثيلاً مختلفًا: مسلسل رقمي يتم تفسيره بواسطة إعدادات نظام تاريخ المصنف. تتطلب 1900 الخاصة بالمصنف ومطالبة Mac الأقدم مصادر جداول بيانات ولم يتم إنشاؤها هنا. ToolAcre لا يقرأ بيانات تعريف المصنف.
افحص الملف باستخدام أدوات جداول البيانات، وحدد نظام التاريخ الذي تم تكوينه، وحافظ على دقة اليوم الكسرية باستخدام تلك المكتبة. يمكن أن تؤدي معاملة المسلسل على أنه ثواني Unix إلى ظهور تاريخ مبكر 1970 يبدو وكأنه خطأ عادي في حين أن المشكلة الفعلية هي الأصل والوحدة معًا.
يمكن أن تنتقل إعدادات المصنف مع ملف، لذلك قد يستخدم مسلسلان متشابهان بصريًا أصولًا مختلفة. ينتمي التحويل إلى حدود المستند حيث تتوفر بيانات التعريف تلك.
تتطلب الأنظمة والمراوغات التسلسلية لجداول البيانات أدلة خاصة بجداول البيانات
GPS والعصور ذات الصلة بـ Apple المذكورة في المخطط التفصيلي هي أيضًا خارج نطاق التنفيذ. قد تتضمن علاقاتهم اتفاقيات مقياس تتجاوز التحول المستمر في الأصل. لا يتم نشر أي صيغة تعويض أو تحويل حالية هنا دون دليل موثوق.
لا يزال التشخيص العام ينقل: تحديد الصفر ومدة القراد واتفاقية القفزة من الشركة المصنعة. ثم قم بالتحويل باستخدام مكتبة مناسبة وتحقق من الطابع الزمني المعروف من نفس مجموعة البيانات. هناك ثلاث حقائق مستقلة أكثر أمانًا من تخمين العرض العشري.
هذا الحذر مهم بشكل خاص حول اتفاقيات القفزة. الثابت الذي يعمل لمقياس وتاريخ واحد قد لا يكون علاقة خالدة بين كل زوج من الأنظمة.
تتطلب علاقات GPS وعصر Apple مصادر موثوقة خارج هذه الوحدة
تبدأ الطريقة العملية التي يمكن الدفاع عنها بلحظة معروفة، على سبيل المثال، تم التحقق من ToolAcre `2025-02-03T10:23:00.000Z`، وتساوي 1,738,578,180 ثانية لنظام Unix. بالنسبة لحقبة موثقة أخرى، قم بحساب قيمتها باستخدام الأصل الرسمي لهذا النظام ومقياسه باستخدام حساب الأعداد الصحيحة، ثم قم بتحويلها مرة أخرى باستخدام نفس التعريف.
قارن الرحلة ذهابًا وإيابًا بسلسلة Unix ISO واحتفظ بالاشتقاق. لا تقوم هذه المقالة عمدًا بملء جدول من خمسة أزمنة بثوابت لم تتم قراءتها. تكشف الطريقة كل الافتراضات ويمكن مراجعتها مقابل أي بروتوكول أو تنسيق ملف أنتج البيانات بالفعل.
طريقة العمل: اشتقاق لحظة واحدة عبر العصور الموثقة بدلاً من نشر ثوابت لم يتم التحقق منها
ToolAcre لا يتعرف تلقائيًا على العصور الأجنبية أو يحولها. تقول قائمة الوحدة الخاصة بها الثواني والميلي ثانية، وكلاهما ضمن تعريف Unix في التكوين. يختار الاكتشاف التلقائي فقط بين تلك المقاييس بحجم 10¹¹؛ لا يغير نقطة الصفر أبدًا.
وهذا العقد الضيق يمنع الثقة الزائفة. إذا حدث عد أجنبي في تاريخ Unix معقول، فلا يمكن للمحول التحذير من أن الأصل كان خاطئًا. يجب أن يدخل المصدر قبل الحساب. قم بتوثيق التحول في التعليمات البرمجية بدلاً من الاعتماد على دليل التشغيل اليدوي.
يُبلغ التصنيف التلقائي المرئي بالثواني أو المللي ثانية فقط. لا ينبغي أبدًا الاستشهاد به كدليل على حدوث اكتشاف الأصل، لأنه لا يوجد مثل هذا الفرع في المصدر.
الوجبات الجاهزة: تعرف على الصفر الذي تقوم بالعد منه - وكيف يخبرك محول الطابع الزمني لنظام Unix بوضوح أنه يقرأ ثواني أو ميلي ثانية لنظام Unix
تعرف على الصفر الذي تقوم بالعد منه، وحجم العلامة الواحدة، وكيف يتعامل المصدر مع مقياسه الزمني. يجيب محول Unix فقط بعد حل هذه الأسئلة بالثواني أو المللي ثانية منذ 1970 UTC. لا يمكن استنتاج الدلالات من عدد صحيح واحد.
استخدم القراءات المزدوجة غير المعقولة كإشارة للتحقق من الأصل، وليس كإذن لمواصلة تجربة المقسومات. بمجرد أن ينتج تحويل من مصدر قيمة Unix، يوفر ToolAcre فحصًا مستقلاً مفيدًا UTC وفحص سلامة محلي مع إبقاء الافتراض الخاص به مرئيًا.
يقوم المحول الجيد بتسمية النوع الأجنبي، وتنفيذ تحويل من مصدر واحد، وإصدار قيمة Unix ذات العلامة التجارية. يمنع هذا التصميم العدادات الأولية من التسرب إلى مُنشئات التاريخ العامة.