ForHosting KIT · التواريخ والوقت

جمع مدتين ISO 8601

أدخل مدتين بصيغة ISO 8601 واحصل على مجموعهما مدةً واحدة مرتبة: P1W زائد P3D يساوي P10D، لأن كل أسبوع يصبح سبعة أيام. وتُرحَّل الثواني والدقائق والساعات والأشهر، وتُحذف الوحدات الصفرية. مجاني في متصفحك.

  • مجاني
  • يعمل في متصفحك
  • دون تسجيل
  • بياناتك لا تغادر جهازك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا
إذا أدخلت
المدة 1
P1Y2M3DT4H5M6S
المدة 2
P2Y1M10DT1H55M54S
تحصل على
Sum
P3Y3M13DT6H1M
السنوات
3
الأشهر
3
الأيام
13

جمع سلسلتين من هذا النوع يدويًا عرضة للخطأ: يجب تحويل الأسابيع إلى أيام، وترحيل الثواني إلى دقائق والأشهر إلى سنوات، دون اختراع تحويل من أيام إلى أشهر يعتمد على تاريخ بداية. تقبل حاسبة جمع مدتين وفق ISO 8601 سلسلتين غير سالبتين، وتحلّل كل مُعيِّن بترتيب ثابت، وتوسّع الأسابيع إلى كتل من سبعة أيام، وتجمع كل مكوّن، وتعيد مدة مطبّعة مع حقول السنة والشهر واليوم والساعة والدقيقة والثانية.

ماذا يعني جمع مدد ISO 8601

تصف مدة ISO 8601 طولًا زمنيًا بالمُعيِّنات Y للسنوات وM للأشهر وW للأسابيع وD للأيام، وبعد علامة T تأتي H للساعات وM للدقائق وS للثواني. من القيم الشائعة P1Y لسنة واحدة، وP2M15D لشهرين وخمسة عشر يومًا، وPT1H30M لتسعين دقيقة مكتوبة ساعة وثلاثين دقيقة، والصيغة الكاملة P1Y2M3DT4H5M6S. جمع مدتين مسألة مكوّن بمكوّن: تُضاف السنوات إلى السنوات والأشهر إلى الأشهر وهكذا.

تُوسَّع الأسابيع إلى أيام بالعامل الثابت سبعة، فيصبح P1W زائد P3D هو P10D بدل سلسلة مختلطة من أسابيع وأيام. بعد الجمع يطبّع المحرك حقول الوقت والشهر بالترحيل وفق قواعد صحيحة حتمية: ستون ثانية تصبح دقيقة، وستون دقيقة ساعة، وأربع وعشرون ساعة يومًا، واثنا عشر شهرًا سنة. لا تُحوَّل الأيام إلى أشهر لأن طول الشهر يعتمد على تاريخ بداية تقويمي لا تأخذه هذه الأداة عمدًا.

الناتج سلسلة قياسية تحذف المُعيِّنات الصفرية، وتستخدم P0D عندما تكون كل المكوّنات صفرًا، ولا تُصدر T عارية بلا حقول وقت. يطابق هذا العقد ما تتوقعه مكتبات التحقق ونماذج المخطط عند فحص PnYnMnDTnHnMnS دون إعادة تحليل نص حر.

أين يفيد دمج مدتين وفق ISO

تجمع فرق المنتج والمنصة فترات الإيجار وتمديدات التجربة ونوافذ الصيانة المخزّنة أصلًا كمدد ISO في أنظمة الإعداد أو الفوترة؛ ويجب أن يعطي جمع P1Y مع P3M الناتج P1Y3M دون تقريبات أيام عائمة. يحتاج المطوّرون الذين يكتبون تجهيزات CI للمجدولات وحاسبات SLA وأمثلة OpenAPI إلى مرجع حتمي يحوّل PT90M زائد PT30M إلى PT2H في كل مرة، مستقلًا عن كائن Date للمضيف وعن المنطقة الزمنية. يعرض المعلمون وكُتّاب التوثيق حساب المدد بجانب جداول RFC وISO دون أرقام تسلسلية من جداول بيانات تتضمن أوقات اليوم بصمت.

تدمج سكربتات التشغيل نوافذ الاحتفاظ بالنسخ الاحتياطي أو تأخيرات إعادة المحاولة المعبَّرة بسلاسل PnD وPTnH من مصدرين، وتكتب قيمة مطبّعة واحدة في سجل. أبقِ السلسلتين قصيرتين، وثبّت sum وحقول المكوّنات في الاختبارات، فتحصل على جمع مدد قابل للتكرار للواجبات وإضافات LMS والعُقد الطرفية وصفحات الكتالوج التي تُرتَّب على جمع مدتين وفق ISO 8601 دون إقامة مكتبة تقويم كاملة.

الفوترة وتمديدات التجربة

اجمع مدة الاشتراك الأساسية مع نافذة تمديد (مثل P1Y زائد P1M) واحفظ المجموع المطبّع في الإعداد أو الفواتير.

تجهيزات CI للمجدولات

أكد في اختبارات الوحدة أن PT90M زائد PT30M يُطبَّع إلى PT2H دون الاعتماد على Date أو المحليات أو ساعة المضيف.

دمج نوافذ الاحتفاظ وSLA

ادمج مدتي سياسة من نظامين مختلفين في سلسلة قياسية واحدة PnYnMnDTnHnMnS للسجلات وكتيبات التشغيل.

هل تُدعم الأسابيع؟

نعم. يُقبل مُعيِّن W عند الإدخال ويُحوَّل إلى سبعة أيام قبل الجمع، فيصبح P1W زائد P3D هو P10D في المجموع المطبّع.

لماذا لا تُحوَّل الأيام إلى أشهر؟

يعتمد طول الشهر على تاريخ بداية تقويمي. تجمع هذه الأداة مددًا نقية بلا تاريخ مرجعي، فتبقى الأيام أيامًا بينما تُرحَّل الأشهر إلى سنوات عند اثني عشر.

كيف أجمع مدتين بصيغة ISO 8601؟

تُجمع كل وحدة مع الوحدة نفسها، ثم يُرحَّل الفائض إلى الوحدة التالية. فمثلًا P1Y2M3DT4H5M6S زائد P2Y1M10DT1H55M54S يساوي P3Y3M13DT6H1M، إذ تنتقل الدقائق والثواني التي تبلغ 60 إلى الوحدة الأعلى.

هل يمكنني استخدام قيم سالبة أو عشرية؟

لا. يجب أن تكون كل مدة غير سالبة، بأعداد صحيحة وحروف بالترتيب المعتاد. أما الإشارات الموجبة أو السالبة والكسور وحرف P وحده والحروف غير المرتبة فتُرفض بدل تخمينها.

ما الوحدات التي تُرحَّل بعد الجمع؟

تصبح ستون ثانية دقيقة، وستون دقيقة ساعة، وأربع وعشرون ساعة يومًا، واثنا عشر شهرًا سنة. فجمع 5 دقائق و55 دقيقة يضيف ساعة إلى الساعات.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/date/iso-duration-add

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/date/iso-duration-add \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"duration1":"P1Y2M3DT4H5M6S","duration2":"P2Y1M10DT1H55M54S"}'
{
  "duration1": "P1Y2M3DT4H5M6S",
  "duration2": "P2Y1M10DT1H55M54S"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "date.iso_duration_add",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

تظهر سلاسل المدة وفق ISO 8601 مثل P1Y2M3DT4H5M6S في واجهات API والتقويمات واتفاقيات مستوى الخدمة وملفات الإعداد كلما احتيج إلى كتابة طول زمني دون ربطه بتاريخ تقويمي. يغذي الخوارزمية النقية نفسها أداة المتصفح المجانية ومسار API بسعر $0.002 لكل استدعاء ناجح، فلا تختلف الواجبات ولا تجهيزات CI ولا خطوط الإنتاج حول كيف يصبح PT90M هو PT1H30M بعد الترحيل.

عقد الإدخال وشكل الاستجابة والأخطاء

يجب أن تكون كل قيمة مدة ISO 8601 غير سالبة تطابق نحو المُعيِّنات المرتّب PnYnMnWnDTnHnMnS بمكوّنات صحيحة فقط. عند النجاح يعيد الجسم المدخلين كمدد قياسية مع أسابيع موسَّعة إلى أيام، وسلسلة sum بعد التطبيع الكامل بالترحيل، والحقول الستة الصحيحة غير السالبة years وmonths وdays وhours وminutes وseconds، وتذكيرًا قصيرًا بصيغة الخوارزمية. الطلبات المرفوضة لا تُفوتر. أرسل جسم JSON بحقلين نصيين إلزاميين: duration1 وduration2. تُرفض إشارات الزائد أو الناقص البادئة حتى يبقى المجموع طولًا غير سالب دائمًا؛ والسلاسل الفارغة وP وحدها والمُعيِّنات خارج الترتيب والأجزاء الكسرية والنص غير المدّي تفشل بـ invalid_input مع تسمية الحقل. تُقابل الأسماء البديلة a وfirst وleft وd1 الحقل duration1، وb وsecond وright وd2 الحقل duration2، فيعيد جداول البيانات والنماذج استخدام أسماء أعمدة قصيرة. مثال: duration1 يساوي P1Y2M3DT4H5M6S وduration2 يساوي P2Y1M10DT1H55M54S يعطيان sum يساوي P3Y3M13DT6H1M لأن خمس دقائق زائد خمسًا وخمسين دقيقة ترحّل ساعة، وست ثوانٍ زائد أربعًا وخمسين تبقى دون الستين. اقرن التشغيل المجاني في المتصفح على هذه الصفحة بواجهة API المدفوعة عندما تحتاج الجمع نفسه داخل خط أنابيب آلي دون إعادة تنفيذ محلّلات مدة في كل خدمة.

أين يفيد دمج مدتين وفق ISO

ولأن التنفيذ تحليل parse نقي من المستوى A، يكلّف كل استدعاء ناجح السعر الأساسي المنشور $0.002 بلا رموز نموذج ولا شبكة صادرة، ولا تستهلك فشل التحقق الرصيد.

كيف أجمع سلسلتي مدة وفق ISO 8601؟

أرسل duration1 وduration2 كسلسلتين غير سالبتين PnYnMnWnDTnHnMnS. توسّع واجهة API الأسابيع إلى أيام، وتجمع كل مكوّن، وتطبّع بالترحيل، وتعيد sum مع years وmonths وdays وhours وminutes وseconds.

ما المدخلات المرفوضة؟

الحقول الناقصة والسلاسل الفارغة وP وحدها والعلامات البادئة والمكوّنات الكسرية والمُعيِّنات خارج الترتيب والنص غير المدّي تفشل بـ invalid_input ولا تُفوتر.

كم يكلف جامع مدد ISO؟

أداة المتصفح مجانية. تستخدم طلبات API رصيد KIT المدفوع مسبقًا بسعر $0.002 لكل استدعاء ناجح؛ والإدخال غير الصالح لا يُفوتر.

اطّلع على توثيق KIT الكامل ←