حساب الأيام بين تاريخين
من 15 يناير 2024 إلى 10 مارس 2025 هناك 420 يومًا، أي 60 أسبوعًا تمامًا، أو 13 شهرًا تقويميًا و23 يومًا. أدخل تاريخين لتحصل على المقاييس الثلاثة دون أي منطقة زمنية. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- البداية
- 2024-01-15
- End
- 2025-03-10
- الاتجاه
- forward
- الأيام بإشارة
- 420
- الأيام
- 420
- الأسابيع
- 60
تحسب هذه الأداة الفرق بين تاريخين تقويميين من دون الاعتماد على المناطق الزمنية أو أوقات اليوم أو قواعد التوقيت الصيفي. أدخل تاريخين حقيقيين بصيغة YYYY-MM-DD لتحصل على العدد الدقيق للأيام، وما يعادله بالأسابيع، وتفصيل الأسابيع الكاملة، وتفصيل الأشهر التقويمية مع الأيام المتبقية. تكون النتائج حتمية للتواريخ الغريغورية من السنة 0001 إلى السنة 9999. وإذا عكست ترتيب التاريخين، ظل الفاصل المطلق كما هو وظهر بوضوح أن الاتجاه إلى الخلف.
أدخل تاريخين تقويميين دقيقين
ضع التاريخ الأول في الحقل start والتاريخ الثاني في الحقل end، والتزم تمامًا بالنمط YYYY-MM-DD. الأصفار البادئة مهمة؛ فاكتب 2026-07-05 بدلًا من 2026-7-5. يُفحص كل إدخال وفق التقويم الغريغوري الفعلي، ولا يقتصر الفحص على مطابقة شكل النص.
لذلك يُرفض 31 أبريل، ولا يُقبل 29 فبراير إلا في السنة الكبيسة، ولا يمكن للشهر 13 أن ينتج قيمة تبدو معقولة. يمتد نطاق السنوات المدعوم من 0001 إلى 9999. يعتمد الحساب على الأيام التقويمية فقط، فلا توجد ساعة مخفية، ولا منطقة زمنية محلية، ولا انتقالات للتوقيت الصيفي، ولا تحويل إلى UTC.
إذا كان end بعد start كان الاتجاه forward، وإذا كان قبله كان backward. أما التاريخان المتطابقان فينتجان same وصفرًا في كل المقاييس.
افهم قيم الأيام والأسابيع في النتيجة
يمثل الحقل days العدد المطلق لحدود منتصف الليل التي تفصل بين التاريخين. فمثلًا، تفصل يوم واحد بين 1 يناير و2 يناير، ويُحسب يوم السنة الكبيسة مثل أي يوم تقويمي حقيقي آخر. يقسم الحقل weeks العدد المطلق للأيام على سبعة ويقرب القيمة المعروضة إلى ست منازل عشرية، وهو مناسب للتقديرات والتقارير.
لا يفترض الحساب أسابيع عمل أو عطلات أسبوعية أو أعيادًا رسمية أو عدًا شاملًا للطرفين.
فسر الأشهر التقويمية تفسيرًا صحيحًا
لا تحتوي جميع الأشهر على العدد نفسه من الأيام، ولذلك لا تفترض الأداة أن الشهر ثلاثون يومًا ثابتة أو مدة متوسطة. يحسب الحقل months انتقالات الأشهر التقويمية الكاملة من التاريخ الأسبق نحو التاريخ الأحدث. وإذا لم يكن اليوم الأصلي موجودًا في شهر الوصول، يُضبط الحساب على آخر يوم صالح في ذلك الشهر.
يضمن ذلك سلوكًا ثابتًا للفترات التي تبدأ في 29 أو 30 أو 31 يناير. يشكل هذان الحقلان تفصيلًا تقويميًا، في حين يظل days هو المسافة الدقيقة العامة، ويظل weeks تحويلًا إلى وحدات من سبعة أيام.
حالات الاستخدام
قياس مدة مشروع
حوّل تاريخي البدء والتسليم إلى أيام دقيقة وأسابيع كاملة وأشهر تقويمية لاستخدامها في التخطيط.
مراجعة فترات الفوترة
احسب الأشهر التقويمية الكاملة والأيام المتبقية بين تاريخي خدمة من دون افتراض أن كل شهر ثلاثون يومًا.
التحقق من منطق التواريخ
أنشئ فروقًا حتمية للاختبارات وعمليات الاستيراد والتقارير والأنظمة التي يجب أن ترفض التواريخ المستحيلة.
الأسئلة الشائعة
هل يُحسب تاريخا البداية والنهاية ضمن المدة؟
لا. يقيس days الحدود التقويمية المنقضية، ولذلك يفصل يوم واحد بين تاريخين متتاليين.
كيف تُحسب الأسابيع؟
يتكون الأسبوع من سبعة أيام بالضبط. تتضمن النتيجة قيمة عشرية وأسابيع كاملة وأيامًا متبقية.
كيف تُحسب الأشهر؟
تُحسب انتقالات الأشهر التقويمية الكاملة أولًا، ثم يُعرض العدد الدقيق للأيام التقويمية المتبقية.
ماذا يحدث إذا أدخلت التاريخ الأحدث أولًا؟
تحصل على الفترة نفسها بالأيام والأسابيع والأشهر، وتبيّن النتيجة أن الاتجاه إلى الوراء. أما التاريخان المتساويان فيعطيان صفرًا في كل مقياس واتجاهًا بعلامة اليوم نفسه.
هل تغيّر المنطقة الزمنية أو التوقيت الصيفي النتيجة؟
لا. يعتمد الحساب على أيام التقويم فقط، دون ساعة أو منطقة زمنية محلية أو تغيير للتوقيت أو تحويل إلى UTC، فيحصل أي شخص على الإجابة نفسها للتاريخين نفسيهما.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/calc2/date-difference \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":"2024-01-15","end":"2025-03-10"}'const res = await fetch("https://api.kit.forhosting.com/calc2/date-difference", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": "2024-01-15",
"end": "2025-03-10"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calc2/date-difference",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": "2024-01-15",
"end": "2025-03-10"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calc2/date-difference", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":"2024-01-15","end":"2025-03-10"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":"2024-01-15","end":"2025-03-10"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calc2/date-difference", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"start": "2024-01-15",
"end": "2025-03-10"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calc2.date_difference",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
أدخل تاريخين تقويميين دقيقين
تقبل تكاملات API أيضًا الأسماء البديلة مثل from وto، بينما يحافظ الاسمان الأساسيان start وend على وضوح النماذج والأمثلة.
افهم قيم الأيام والأسابيع في النتيجة
يحتفظ signed_days بترتيب الإدخال؛ فتكون قيمته موجبة إذا كان end لاحقًا، وسالبة إذا كان أسبق، وصفرًا إذا تطابق التاريخان. وللحصول على تفصيل صحيح دقيق، يعرض whole_weeks مجموعات الأيام السبعة الكاملة، ويعرض remaining_days_after_weeks الباقي من صفر إلى ستة. ويعيد الحقلان دائمًا بناء المجموع وفق المعادلة: whole_weeks مضروبًا في سبعة ثم يضاف الباقي. إنه فاصل تقويمي منقضٍ، لذا يلائم الجداول الزمنية والمدد وبيانات الاختبار وحسابات API المتسقة.
فسر الأشهر التقويمية تفسيرًا صحيحًا
يعرض remaining_days_after_months العدد الدقيق للأيام التقويمية المتبقية بعد الأشهر الكاملة. عند عكس المدخلات، يبدأ تفصيل الأشهر من التاريخ الأسبق زمنيًا لكي تبقى المقادير المطلقة متسقة، بينما يبين direction وsigned_days ترتيب الإدخال. استخدم days للمواعيد النهائية، وwhole_weeks لكتل العمل، وmonths مع الباقي للاشتراكات والذكرى السنوية ومدة الخدمة وغيرها من الفترات المعتمدة على التقويم.
أسئلة تقنية
ما تكلفة طلب API؟
تبلغ تكلفة كل طلب API مقدار $0.002. ويمكن تشغيل الحاسبة محليًا في المتصفح مجانًا.
ماذا يحدث إذا كان أحد التاريخين غير صالح؟
يفشل الطلب بالرمز invalid_input إذا كان تنسيق إحدى القيم خاطئًا أو لم تكن تاريخًا غريغوريًا حقيقيًا.