محوّل الطابع الزمني (Epoch)

Unix Epoch الحالي

تُرجع خطوط السجل القيمة 1729523412، وتُعيد واجهة برمجة التطبيقات (API) القيمة 1729523412000، بينما تسجّل قاعدة البيانات القيمة 1729523412.845293. جميع هذه القيم تمثل اللحظة نفسها منذ الأول من يناير 1970 بتوقيت UTC: الأولى بالثواني، والثانية بالمللي ثوانٍ، والثالثة بالثواني مع جزء كسري. يدعم هذا المحول الاتجاهين معًا: الصق طابعًا زمنيًا لقراءة التاريخ والوقت بتوقيت UTC، أو أدخل تاريخًا للحصول على قيمة الطابع الزمني (epoch) بالثواني أو بالمللي ثانية.

كيفية تحويل توقيت العصر الزمني

  1. 1

    الصق طابعًا زمنيًا

    قيمة بالثواني (10 أرقام)، أو بالمللي ثوانٍ (13 رقمًا)، أو بجزء كسري مثل 1729523412.845293.

  2. 2

    اختر الدقة

    يختار المفتاح فوق حقل الإدخال الثواني أو المللي ثوانٍ. تحتفظ نتيجة التاريخ بأجزاء الثانية حتى الميكرو ثانية.

  3. 3

    اقرأ التاريخ بتوقيت UTC

    تظهر القيمة المحوّلة بتوقيت UTC بالصيغة YYYY-MM-DD HH:MM:SS.ميكرو ثانية، وجاهزة للنسخ.

  4. 4

    اعكس العملية

    أدخل تاريخًا ووقتًا بتوقيت UTC للحصول على قيمة الطابع الزمني (epoch) بالثواني أو بالمللي ثانية.

ما هو “العصر” (epoch)

يقيس نظام يونكس الزمن بالثواني (أو أجزاء منها) بدءًا من الأول من يناير 1970، الساعة 00:00:00 بالتوقيت العالمي المنسّق (UTC)، وتُعرف هذه اللحظة باسم “عصر يونكس”. وهو الطابع الزمني القابل للقراءة آليًا السائد في البرمجيات.

  • أنظمة POSIX: يُرجع time() عدد الثواني منذ نقطة البداية (epoch).
  • JavaScript: يعيد الدالة Date.now() قيمة بالمللي ثانية.
  • Java: يعيد الدالة System.currentTimeMillis() قيمة بالمللي ثانية.
  • Go: يعيد time.Now().Unix() القيمة بالثواني؛ بينما يعيد UnixNano() القيمة بالنانوثوانية.

الدقة حسب الحجم

عدد الأرقام الدقة مثال
10 ثوانٍ 1,729,523,412
13 مللي ثانية 1,729,523,412,000
16 ميكروثانية 1,729,523,412,000,000
19 نانوثانية 1,729,523,412,000,000,000

يقبل هذا المحول الثواني والمللي ثوانٍ والقيم ذات الجزء الكسري؛ اضبط مفتاح الدقة بما يناسب مدخلاتك.

طوابع زمنية مميزة

  • 0 - 1 يناير 1970، الساعة 00:00:00 بتوقيت UTC؛ أي العصر نفسه.
  • 1,000,000,000 - 9 سبتمبر 2001، الساعة 01:46:40 بتوقيت UTC؛ لحظة شهيرة تُعرف باسم “لحظة المليار ثانية”.
  • 1,234,567,890 - 13 فبراير 2009، الساعة 23:31:30 بتوقيت UTC.
  • 2,147,483,647 - 19 يناير 2038، الساعة 03:14:07 بتوقيت UTC. مشكلة Y2K38: تجاوز سعة العدد الصحيح الموقّع بطول 32 بت.
  • 10,000,000,000 - المستقبل البعيد جدًا: 20 نوفمبر 2286، الساعة 17:46:40 بتوقيت UTC.

مشكلة Y2K38

تخزّن بعض الأنظمة وقت يونكس في عدد صحيح موقّع بطول 32 بت، وتبلغ قيمته القصوى 2,147,483,647 ثانية (19 يناير 2038) قبل أن تتجاوز سعته. أما الأنظمة الحديثة فتستخدم أعدادًا صحيحة بطول 64 بت، مما يؤجّل المشكلة إلى ما بعد “الموت الحراري” للشمس بكثير. لكن قد تظل الأنظمة المدمجة وقواعد البيانات القديمة متأثرة؛ لذا يُنصح بفحص بنية نظامك.

تفاصيل المناطق الزمنية الدقيقة

يكون وقت الإحداثية مبنيًا بشكل أساسي على نظام UTC. وعند تحويله لعرضه، يتم تطبيق منطقة زمنية عليه.

  • اسم IANA (America/Los_Angeles، Europe/Berlin): يتعامل تلقائيًا مع التوقيت الصيفي.
  • الانزياح (-08:00، +05:30): انزياح ثابت، دون احتساب وقت الصيف.
  • الاختصار (PST، CEST): غير واضح؛ حيث تستخدم مناطق مختلفة نفس الاختصارات. يُنصح بعدم استخدامه في عمليات التخزين.

تتغير قواعد التوقيت الصيفي (DST) مع مرور الوقت. يعتمد العلامة الزمنية التاريخية الموجودة في ملف America/New_York على قواعد التوقيت الصيفي السارية في ذلك التاريخ، وليس على القواعد السارية حاليًا. يعرض هذا المحول توقيت UTC دائمًا. لرؤية اللحظة في منطقتك، فسّر نتيجة UTC باستخدام اسم IANA أو انزياح ثابت.

مواصفات ISO 8601 مقابل RFC 2822

بالنسبة للعلامات الزمنية في تنسيقات البيانات:

  • ISO 8601 (2024-10-21T14:30:12Z): المعيار الحديث المفضّل، قابل للتصنيف، واضح وغير مبهم.
  • RFC 2822 (Mon, 21 Oct 2024 14:30:12 +0000): يُستخدم في رؤوس بروتوكول HTTP وفي الرسائل الإلكترونية.

لعرض المحتوى أمام البشر: التنسيق المحلي وفقًا لقواعد الإعدادات المحلية الخاصة بهم.

التعامل مع الثواني الكبيسة

لا يأخذ وقت POSIX في الاعتبار الثواني الكبيسة؛ بل يعود تلقائيًا إلى الزمن السابق بمقدار ثانية واحدة عند إدخال ثانية قفزية. أما TAI (الزمن الذري الدولي) فيأخذ هذه الثواني بعين الاعتبار. بالنسبة لمعظم أكواد التطبيقات، يكون استخدام POSIX دقيقًا؛ أما في مجالات الفلك وعلم المساحة والتوقيت الدقيق، فيُفضل استخدام TAI أو UTC مع مراعاة الثواني القفزية.

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

تحقق من مفتاح الدقة: قراءة قيمة بالمللي ثانية (مكوّنة من 13 رقمًا) على أنها ثوانٍ تؤدي إلى تاريخ بعيد جدًا في المستقبل. تعرض الأداة توقيت UTC دائمًا؛ قارن النتيجة بالانزياح المحلي لمنطقتك قبل التحويل.

نعم، تدعم الأداة الطوابع الزمنية السالبة التي تمثل تواريخ سابقة لعصر يونكس؛ فمثلاً، تاريخ 31 ديسمبر 1969 الساعة 23:59:59 بتوقيت UTC يُمثَّل بالقيمة -1.

قم بتخزين فترة الزمن (بتوقيت UTC) واسم منطقة زمنية من IANA كحقول منفصلة. يحتوي معيار ISO 8601 مع قيمة التأخير (مثل 2024-10-21T14:30-07:00) على هذه القيمة، لكنه يفقد القدرة على إعادة تفسير البيانات عند تغيير قواعد الوقت الصيفي. استخدم أسماء IANA للتخزين القياسي.

لا. تُرسل القيمة إلى الخادم فقط لإجراء التحويل، ولا يتم تخزينها أو تسجيلها. تسجّل الأداة عددًا مجهولًا من عمليات التحويل دون القيمة.

أدوات ذات صلة

الأداة متاحة بلغات أخرى