متوفر أيضًا بلغات أخرى: English · Español · Português · Français
الثواني الكبيسة: القائمة الكاملة
كل ثانية كبيسة أُدرجت يومًا، ولماذا يجري إنهاؤها، ولماذا لا يستطيع أي تاريخ في الجافاسكربت أن يحمل واحدة.
ما الثانية الكبيسة؟
الثانية الكبيسة ثانيةٌ زائدة تُضاف إلى ساعات العالم لإبقائها متسقةً مع دوران الأرض. فالساعات الذرّية تعدّ ثانيةً ثابتةً تمامًا، والكوكب لا يدور بوتيرة ثابتة تمامًا. وحين يتباعد الاثنان أكثر من نحو 0.9 ثانية، تُدرَج ثانيةٌ في نهاية يومٍ ما، فتصير الدقيقة الأخيرة من ذلك اليوم إحدى وستين ثانية بدل ستين: 23:59:59 ثم 23:59:60 ثم منتصف الليل.
وقد حدثت سبع وعشرون منها، كلها منذ بدء UTC الحديث سنة 1972، وهي كلها مسرودة أعلاه. والمجموع المتراكم لا يقلّ أهميةً عن التواريخ المفردة: فالزمن الذرّي يسبق الآن ساعة حائطك بسبع وثلاثين ثانية، وهي العشر التي بدأ بها UTC متأخرًا وواحدة عن كل ثانية كبيسة بعدها.
وكلها حتى الآن أضافت ثانية. أما حذف ثانية فتجيزه القواعد نفسها ولم يُحتَج إليه قطّ، وإن كانت الأرض تدور في السنوات الأخيرة أسرع قليلًا، ممّا يجعل أول ثانية كبيسة سالبة في التاريخ احتمالًا حقيقيًّا لا حاشيةً.
كيف تقرأ هذه الصفحة
- انظر إلى الفارق المتراكم. فـ TAI ناقص UTC هو الرقم الذي تحتاجه أكثر الأنظمة فعلًا. وهو سبع وثلاثون ثانية، وظلّ كذلك منذ مطلع 2017.
- لاحظ الفجوة. تحسب الصفحة مباشرةً كم مضى على آخر واحدة. وهذا الرقم صار أطول فجوة في السجلّ كلّه.
- اقرأ البرهان. أسفله مباشرةً يُطلب من متصفّحك أنت أن يحلّل ثانيةً كبيسةً حقيقية. ورؤيته يفشل هي المقصودة — انظر أدناه.
لماذا لا يستطيع حاسوبك تمثيل واحدة
زمن POSIX، وهو ما يعدّ به كل حاسوب تقريبًا، يعرّف كل يوم بأنه 86,400 ثانية بالضبط. ولا متّسع في ذلك التعريف ليومٍ فيه 86,401. فالثانية الكبيسة إذًا ليست مخزَّنةً خطأً، بل لا موضع لتخزينها أصلًا.
والنتائج ظاهرة في هذه الصفحة، ورؤيتها خير من سماعها. فسؤال الجافاسكربت أن يحلّل 2016-12-31T23:59:60Z يُرجع NaN: فاللحظة ليست غريبةً فحسب، بل غير قابلة للتمثيل. والقياس من 23:59:59 إلى منتصف الليل التالي يعطي ثانيةً واحدة، مع أن ثانيتين مضتا. فاليومُ ذو الثانية الكبيسة واليومُ العادي لا يفترقان في نظر الساعة.
وهذا يفسّر أيضًا لماذا يكون النصّ نفسه مشروعًا في معايير ومرفوضًا في أخرى. فقواعد RFC 3339 تجيز صراحةً القيمة 60 في الثواني، تحديدًا كي يستطيع الختم الزمني تسجيل ثانية كبيسة؛ أما الصيغة التي تعرّفها الجافاسكربت فتقف عند 59. فقد يكون الختمُ الزمني صالحًا على الشبكة وغيرَ قابل للتحليل في اللغة التي تقرؤه، وهذا مصدر أخطاء حقيقي في معالجة السجلّات.
والبرمجيات التي تحتاج فعلًا زمنًا منقضيًا — قياس مدّة، أو ترتيب أحداث، أو توقيت رحلة شبكة ذهابًا وإيابًا — تستعمل ساعةً رتيبة أو توقيت TAI بدل UTC، لهذا السبب بالضبط. فإن رأيت يومًا مدّةً تخرج أقصر بثانية عند انقضاء رأس السنة، فهذا سببها.
يجري إلغاؤها، والبديل غير محسوم
في تشرين الثاني 2022 أقرّ المؤتمر العام للأوزان والمقاييس القرار رقم 4، الذي نصّ على أن الفارق الأقصى المسموح بين UT1 و UTC سيُزاد في 2035 أو قبلها. وزيادة ذلك الحدّ هي ما ينهي الثانية الكبيسة: فهي لا توجد إلا لإبقاء الفارق دون 0.9 ثانية، وحدٌّ أوسع يعني مرور عقود قبل الحاجة إلى أي تصحيح.
لكن ما لا يفعله القرار، وهو لافت، أن يقول ما المقدار الأقصى الجديد. بل يكلّف اللجنة الدولية للأوزان والمقاييس باقتراح قيمة وصياغة قرار يُقرّ في الاجتماع الثامن والعشرين للمؤتمر سنة 2026. فقرار التوقّف متّخَذ، وما يحلّ محلّه ما زال مفتوحًا، وهي حال غير مألوفة تصفها صفحة مرجعية، ولهذا تقولها هذه الصفحة صراحةً بدل تقريبها إلى «الثواني الكبيسة تنتهي في 2035».
وكانت البيانات ماضيةً في ذلك الاتجاه قبل أي تصويت. تسع ثوانٍ كبيسة في السبعينيات، وستّ في الثمانينيات، وسبع في التسعينيات، واثنتان في العقد الأول من الألفية، وثلاث في العقد الثاني، ولا شيء منذ أواخر 2016. أما أن تتعاون الأرض حتى 2035 فليس ممّا يعِد به أحد، ولهذا تُولَّد القائمة أعلاه من الجداول المعتمدة بدل كتابتها باليد.
من أين تأتي البيانات
من مصدرين، قوبل كلٌّ منهما بالآخر. تنشر IANA ملف leap-seconds.list الذي يُشحن داخل قاعدة بيانات tz التي يستعملها كل نظام تشغيل تقريبًا، مفهرسًا بأختام NTP الزمنية. وينشر مركز توجيه الأرض التابع لـ IERS في مرصد باريس جدوله الخاص بصيغة مختلفة تمامًا، مفهرسًا بالتاريخ اليولياني المعدّل. وتنتجهما مؤسستان مختلفتان، ويتّفقان في كل سطر، وهذا أثمن من أيٍّ منهما وحده.
ويجدر ذكر فخّ لأن الوقوع فيه سهل. فليس في أيٍّ من الملفّين سردٌ مباشر للثواني الكبيسة: بل يسجّل كل سطر اللحظةَ التي تغيّر فيها الفارق، وهي منتصف الليل التالي للثانية الكبيسة. وقراءة تلك التواريخ على أنها تواريخ الثواني الكبيسة تضع كل مُدخَل في الشهر الخطأ — فالسطر المؤرَّخ في الأول من تموز 1972 هو الثانية الكبيسة في نهاية الثلاثين من حزيران. ولهذا أيضًا يصف 28 سطرًا سبعًا وعشرين ثانية كبيسة، إذ السطر الأول هو فارق 1972 الابتدائي لا إدراجًا.
ويحمل ملف IANA تاريخ انتهاء خاصًّا به، وهو طريقة القائمين عليه في إخبارك متى تكفّ عن الوثوق بنسخةٍ قديمة — وهي عادة حسنة تفتقر إليها أكثر الجداول المنشورة.
لماذا هي مجانية؟
القائمة كلها بضعة كيلوبايتات تُشحن مع الصفحة، والبرهان يجري في متصفّحك. فلا يُرفع شيء، ولا يُسجَّل شيء، ولا حساب تُنشئه.
بلا تسجيل، وبلا حدود، وبلا علامة مائية على أي شيء تنسخه.