الثواني الكبيسة UTC↔TAI
اعرف الفرق بين الزمن الذري وUTC في أي تاريخ، أو اعرض الثواني الكبيسة التي تفسّره: في 2017-01-02 تبلغ قيمة TAI−UTC 37 ثانية. والجدول مدمج في الأداة. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- وضع الحساب
- Offset
- التاريخ
- 2017-01-02
- إزاحة TAI−UTC (ثوانٍ)
- 37
أداة مجانية وحتمية. تسرد الثواني الكبيسة المضمَّنة من IERS وتحوِّل التواريخ المدنية بتوقيت UTC إلى إزاحة TAI-UTC دون أي اتصال بالشبكة.
كيف تعمل
تسرد هذه القدرة الثواني الكبيسة التي تنشرها الهيئة الدولية IERS، وتحوِّل التاريخ المدني بتوقيت UTC إلى إزاحة TAI-UTC، وذلك من دون أي اتصال بالشبكة على الإطلاق. في وضع «list» تحصل على الجدول الكامل لجميع القفزات التاريخية، أما في وضع «offset» فتُدخل تاريخًا بصيغة ISO-8601، فيعيد الحساب الفرق الدقيق بين التوقيت الذري الدولي والتوقيت العالمي المنسَّق في تلك اللحظة بالذات. وقبل دمج هذه الوظيفة في مسارات الإنتاج أو الاختبارات الآلية، يُرجى الاطلاع على الأمثلة المرجعية التي تغطي مسارات النجاح والخطأ على حدٍّ سواء.
المدخلات والمخرجات
يجب أن تكون حقول المخطط المطلوبة موجودة ومضبوطة النوع، بينما ترتد الحقول الاختيارية إلى قيم افتراضية موثَّقة. وتتضمن استجابات النجاح دائمًا حقول الإخراج الرئيسية، حتى تبقى ارتباطات الواجهة مستقرة على المدى الطويل ولا تضطر إلى التعامل مع غياب غير متوقَّع. ويجري التحقق وفق ترتيب ثابت وقابل للتكرار، بحيث يُنتج المدخل نفسه دائمًا المخرج نفسه وسلسلة الخطأ نفسها، وهو شرط لا غنى عنه لاعتماد القدرة والوثوق بنتائجها على المدى الطويل.
وهذا الفصل الصارم بين مسار النجاح ومسار الخطأ يكفل ألا تصطدم عملية الدمج بأخطاء صامتة، وألا تعتمد على رسائل متغيِّرة قد تختلف صياغتها من إصدار إلى آخر. ولذلك نوصيك بقراءة الأمثلة المرجعية بعناية، فهي تشمل مسارات النجاح والخطأ معًا وتبيِّن لك بدقة ما ينبغي أن تتوقعه من استجابة في كل حالة، وذلك قبل ربط هذه القدرة بعملياتك أو اختباراتك الآلية.
الحالات الحدية والقيود
تُرفَض السلاسل الفارغة والأنواع الخاطئة والنطاقات المتناقضة في وقت مبكر، قبل أن يبدأ أي حساب على الإطلاق. وتُعامَل التواريخ المدنية الخالية من المنطقة الزمنية بوصفها تواريخ تقويمية، فلا تخضع لأي تحويل ضمني قد يشوِّه الإزاحة المُعادة. أما جداول الثواني الكبيسة فتُحمَل مضمَّنةً داخل مجلد القدرة نفسه، ولذلك لا يجري أي نداء شبكي واحد أثناء التشغيل، وتظل النتيجة قابلة للتكرار حتى في بيئة غير متصلة تمامًا.
وهذا السلوك يجعل الوظيفة ملائمة للبيئات المعزولة، ولمسارات التكامل المستمر، وللسياقات التي لا يكون فيها الاتصال مضمونًا. وبما أن الجداول المضمَّنة تُشحَن مع القدرة نفسها، يبقى السلوك مستقرًا عبر الزمن ولا يتوقف على خدمة خارجية قد تتعطل في أي لحظة أو تغيِّر صيغتها من دون سابق إنذار. وهكذا تحتفظ بالسيطرة الكاملة على نتائجك، وتستطيع أن تتحقق من كل عملية حساب وتعيد إنتاجها بدقة متى شئت.
حالات الاستخدام
العمل اليومي
احصل على إجابة موثوقة من دون الحاجة إلى جدول بيانات.
التعليم
أمثلة مرجعية ثابتة وقابلة للتكرار من أجل العروض التوضيحية.
الأسئلة الشائعة
الشبكة؟
لا اتصال بالشبكة؛ كل شيء يُحسَب على الجهاز.
ماذا يعني TAI−UTC؟
هو عدد الثواني التي يتقدم بها التوقيت الذري الدولي على التوقيت العالمي المنسق في تاريخ معيّن. ولا يتغير هذا الفرق إلا عند إضافة ثانية كبيسة إلى UTC، لذلك يُقرأ من جدول الثواني الكبيسة.
هل يمكنني رؤية قائمة الثواني الكبيسة نفسها؟
نعم. اختر خيار القائمة لعرض الثواني الكبيسة في الجدول المدمج، مع إمكانية حصرها في مدة بين تاريخين. وتُرفض المدة التي تنتهي قبل أن تبدأ بدل تخمينها.
هل أحتاج إلى إدخال وقت أو منطقة زمنية؟
لا. أدخل تاريخ التقويم وحده. فالتاريخ الذي لا يحمل منطقة زمنية يُقرأ على أنه يوم بسيط بتوقيت UTC، لذلك لا يغيّر مكانك الفرق الذي تحصل عليه أبدًا.
لماذا رُفض ما أدخلته؟
تُرفض الإدخالات الفارغة والقيم من النوع الخطأ والمدد المتناقضة قبل أي حساب، فتحصل على رسالة واضحة بدل فرق يبدو صحيحًا وهو ليس كذلك.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/date/leap-seconds \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mode":"offset","date":"2017-01-02"}'const res = await fetch("https://api.kit.forhosting.com/date/leap-seconds", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mode": "offset",
"date": "2017-01-02"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/leap-seconds",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mode": "offset",
"date": "2017-01-02"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/leap-seconds", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mode":"offset","date":"2017-01-02"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mode":"offset","date":"2017-01-02"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/leap-seconds", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"mode": "offset",
"date": "2017-01-02"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.leap_seconds",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
كيف تعمل
الحساب حتمي تمامًا ويجري مجانًا داخل متصفحك، مستعينًا بالدالة النقية نفسها التي تستخدمها الواجهة البرمجية؛ لذا فإن النتيجة المعروضة على الإنترنت مطابقة تمامًا، بايتًا ببايت، لتلك التي يحتسبها النظام. وتُتحقَّق المدخلات قبل أي عملية حسابية، فيؤدي النوع الخاطئ إلى خطأ invalid_input واضح بدلًا من نتيجة مضلِّلة.
المدخلات والمخرجات
أما القيم الوسيطة الضخمة جدًا التي تتجاوز نطاق التمثيل وفق معيار IEEE-754، فتتحول إلى أخطاء نطاق صريحة بدلًا من قيم فارغة صامتة، لأن الخطأ المعلَن أفضل دائمًا من بيانات تالفة تمر دون أن يلاحظها أحد.
الحالات الحدية والقيود
ويُرجى فحص الأمثلة المرجعية قبل الدمج، فهي تبيِّن بدقة أي المدخلات يعيد نتيجة صحيحة وأيها يولِّد خطأ invalid_input، حتى تتجنب المفاجآت في بيئة الإنتاج.
حالات التكامل
الأتمتة
الدالة النقية نفسها في الأداة وفي الواجهة البرمجية.
أسئلة تقنية
هل هي مجانية؟
نعم، الفئة A مباشرةً في المتصفح.
مدخل غير صالح؟
خطأ invalid_input مع سلسلة مطابقة واضحة.
هل هي مستقرة؟
أمثلة مرجعية حتمية تُثبِّت العقد.
المؤلف؟
samurai.