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