أيام العمل في السنة
تستقبل حاسبة أيام العمل السنوية تاريخ ISO صريحا، وتحدد سنته الميلادية، ثم تحصي جميع الأيام من الاثنين إلى الجمعة.
شغّل الأداة مجانًا
ويمكن إضافة قائمة اختيارية بالعطلات لاستبعاد ما يقع منها في أيام العمل، من دون خصم التاريخ المكرر مرتين أو خصم عطلة تقع أصلا في نهاية الأسبوع. وتعتمد العملية قواعد ميلادية ثابتة وحسابا حتميا، لذلك تعطي المدخلات نفسها النتيجة نفسها في جميع المناطق الزمنية.
حدد السنة بواسطة تاريخ صريح
أدخل التاريخ بصيغة ISO الدقيقة YYYY-MM-DD. يلزم تقديم التاريخ كاملا رغم أن الحساب يستخدم سنته فقط، لأن ذلك يجعل طلبات API واضحة ويمنع الاعتماد على السنة الحالية أو إعدادات الحساب الإقليمية أو ساعة الخادم. فمثلا يحدد التاريخ 2024-07-25 السنة الميلادية 2024 كاملة، من 1 يناير إلى 31 ديسمبر، ولا يبدأ العد في 25 يوليو. تعرض النتيجة التاريخ المدخل والسنة المختارة وعدد الأيام التقويمية وأيام نهاية الأسبوع والعطلات الواقعة في أيام العمل والمجموع النهائي لأيام العمل. تدعم الأداة السنوات من 0001 إلى 9999 وفق التقويم الميلادي الممتد وقاعدة السنوات الكبيسة المعروفة. وترفض التواريخ غير الموجودة مثل 2025-02-29 بدلا من تعديلها بصمت. لذلك يصلح الناتج للتخطيط القابل للتكرار والتدقيق والاختبارات وقواعد الأعمال المحفوظة، إذ لا يتغير معنى الطلب القديم بتغير التاريخ الحالي.
استبعد نهايات الأسبوع والعطلات بدقة
يستبعد الحساب أولا جميع أيام السبت والأحد في السنة المحددة. وبعد ذلك يمكن إرسال العطلات في مصفوفة من تواريخ ISO. ولا تنقص العطلة من المجموع إلا إذا كانت ضمن السنة المختارة ووقعت بين الاثنين والجمعة. أما العطلة التي تقع يوم السبت أو الأحد فقد استبعدت بالفعل ضمن نهاية الأسبوع، ولذلك لا تخصم مرة أخرى. كما تزال التواريخ المكررة قبل العد. تقبل التواريخ الصحيحة التابعة لسنوات أخرى لكنها تهمل، مما يسمح بإرسال قائمة مشتركة لعدة سنوات من دون تصفيتها قبل كل طلب. لا تخمن الأداة العطلات الرسمية، ولا تضيف يوم تعويض تلقائيا، ولا تستنتج الدولة من الموقع. فهذه القواعد تختلف باختلاف البلد والمؤسسة والاتفاق والسنة. ينبغي إدخال تواريخ الإغلاق المطبقة فعليا. وتفصل النتيجة بين أيام نهاية الأسبوع والعطلات الفعلية الواقعة في أيام العمل، بحيث يكون الوصول إلى المجموع النهائي واضحا وقابلا للمراجعة.
استخدم عددا حتميا في التخطيط والأتمتة
يعتمد الحساب على أعداد صحيحة وقواعد تقويمية فقط. فهو لا يتصل بالشبكة، ولا يقرأ الساعة الحالية، ولا يستخدم كائن Date في JavaScript، ولا يطبق تغييرات التوقيت الصيفي أو إعدادات اللغة المحلية. وتمثل UTC تفسيرا مستقرا، لذلك يظل 2026-01-01 التاريخ نفسه سواء نفذ الطلب في طوكيو أو لندن أو كاليفورنيا. تفيد هذه الخاصية في خطط الطاقة السنوية ونماذج القوى العاملة وأهداف الاستفادة وتوقعات مستوى الخدمة وتقديرات الرواتب. ويمكن حفظ تاريخ الإدخال وقائمة العطلات مع تفاصيل النتيجة للحصول على سجل قابل للتدقيق وإعادة الحساب لاحقا. يمثل الناتج أيام العمل الممكنة من الاثنين إلى الجمعة، ولا يمثل ساعات موظف بعينه. كما لا يشمل الإجازات الشخصية أو الدوام الجزئي أو الإغلاقات غير المدرجة أو أنماط نهاية الأسبوع الأخرى أو أنصاف الأيام. يمكن إجراء الفحص مجانا في المتصفح أو استخدام API بسعر $0.002 ضمن سير عمل آلي متكرر.
حالات الاستخدام
إعداد خطة سنوية للطاقة الاستيعابية
ابدأ بأيام العمل المتاحة، واستبعد أيام الإغلاق الفعلية، ثم اضرب النتيجة المفصلة في طاقة الفريق اليومية.
مراجعة افتراضات الرواتب والاستفادة
قارن العدد المفترض في النموذج بتفصيل حتمي لأيام نهاية الأسبوع والعطلات الفعلية في أيام العمل.
جعل التوقعات قابلة للتكرار
احفظ التاريخ وقائمة العطلات كي تستخدم العمليات اللاحقة القواعد نفسها بدلا من الاعتماد على الساعة الحالية.
الأسئلة الشائعة
هل يبدأ العد من التاريخ المدخل؟
لا. يحدد التاريخ سنته الميلادية كاملة، وتدخل جميع الأيام من 1 يناير إلى 31 ديسمبر في الحساب.
ما الأيام التي تعد نهاية أسبوع؟
السبت والأحد. ولا تستنتج الأداة تلقائيا أي نمط أسبوعي آخر للراحة.
ماذا يحدث عندما تقع العطلة في نهاية الأسبوع؟
لا تخصم مرة أخرى، لأن ذلك التاريخ مدرج بالفعل ضمن عدد أيام نهاية الأسبوع.
هل تعرف الحاسبة العطلات الرسمية تلقائيا؟
لا. يجب إدخال تواريخ العطلات أو الإغلاق الدقيقة التي تنطبق على المؤسسة والمنطقة المعنية.
ما تكلفة طلب API؟
تبلغ تكلفة طلب API مقدار $0.002. ويتاح الحساب الحتمي نفسه مجانا في المتصفح.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/date/workdays-in-year \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-07-25"}'const res = await fetch("https://api.kit.forhosting.com/date/workdays-in-year", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-07-25"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/workdays-in-year",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-07-25"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/workdays-in-year", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-07-25"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-07-25"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/workdays-in-year", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"date": "2024-07-25"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.workdays_in_year",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |