أول وآخر يوم في الشهر
اختر سنة وشهرًا لتحصل على أول تاريخ وآخر تاريخ فيه: يمتد فبراير 2024 من 2024-02-01 إلى 2024-02-29، بينما ينتهي فبراير 2023 في 2023-02-28. جاهز للفواتير وفترات التقارير. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- السنة
- 2,024
- الشهر
- 2
- اسم الشهر
- February
- اليوم الأول
- 1
- اليوم الأخير
- 29
- أيام الشهر
- 29
تأخذ حاسبة أول وآخر يوم في الشهر هذه سنة ميلادية ورقم شهر من واحد إلى اثني عشر وتُرجع تاريخَي الافتتاح والإغلاق التقويميَّين لذلك الشهر بصيغة صارمة YYYY-MM-DD. من الفحوص الكلاسيكية: فبراير 2024 يُعطي تاريخ بداية 2024-02-01 وتاريخ نهاية 2024-02-29 بتسعة وعشرين يومًا، وفبراير 2023 يُعطي 2023-02-28 كآخر يوم، وأبريل 2024 يُعطي من 2024-04-01 حتى 2024-04-30. يستخدم المحرك أطوال أشهر حتمية مبنية على جدول مع قاعدة السنة الكبيسة الميلادية، فلا يستشير أبدًا ساعة الجهاز، ولا يأخذ عيّنات عشوائية، ولا يستدعي الشبكة أبدًا.
ماذا تعني بداية الشهر ونهايته وماذا تحتوي الاستجابة
معرفة أول وآخر يوم تقويمي في شهر تجيب عن سؤال مختلف عن عدّ الأيام بين تاريخَين عشوائيَّين، أو إيجاد يوم الأسبوع التالي، أو تحويل أرقام الأيام اليوليانية: فهي تثبّت الحدود المدنية لشهر سنوي مُسمّى كي تفتح نطاقات التقارير والفواتير ونوافذ الاحتفاظ في اليوم الأول وتُغلَق في اليوم الأخير الحقيقي دون أخطاء الفارق الواحد في الأشهر الثلاثينية أو فبراير الكبيس.
من الحالات المرفوضة: غياب السنة أو الشهر، أو قيم غير صحيحة، وسنوات خارج نطاق واحد إلى 9999، وأي شهر خارج نطاق واحد إلى اثني عشر مثل صفر أو ثلاثة عشر أو فهارس سالبة. إن احتجت المسافة الكاملة بالأيام بين تاريخَين حرَّين، أو تنقّل يوم الأسبوع، أو تحويل أسبوع ISO، فاستخدم الأدوات المخصّصة لذلك؛ هذه الصفحة تجيب فقط عن بداية ونهاية شهر سنوي مُتحقَّق منه.
أين تفيد حدود الشهر في الفوترة والتقارير والبرمجيات
تحتاج فرق العمليات والمالية تاريخَي بداية ونهاية الشهر حين تغطّي فاتورة اشتراك شهرًا تقويميًّا كاملًا، أو حين تُذكَر سياسة احتفاظ كالشهر الذي يحتوي حدثًا، أو حين تفترض تصفية لوحة قيادة شهر التقرير الحالي دون تثبيت ثلاثين أو واحد وثلاثين يدويًّا. يستخدم المحلّلون الذين يبنون الأفواج الحدود نفسها لوسم نوافذ المراقبة التي تفتح في اليوم الأول وتُغلَق في اليوم الأخير الحقيقي، متجنّبين البتر الصامت حين يظهر فبراير أو الأشهر القصيرة في عمليات ملء البيانات الراجعة متعدّدة السنوات.
يستدعي المطوّرون العقد من النصوص البرمجية لتوليد متجهات اختبار حتمية للمُجدوِلات والرواتب، أو لتأكيد حقول النطاق في واجهات برمجية تقبل فقط تواريخ تقويمية شاملة، أو لتلبية متطلّبات منتج تتطلّب حدودًا ميلادية بحتة دون انحراف منطقة زمنية من كائن Date في الجهاز يقلب منتصف الليل في منطقة غير متوقّعة. يستخدم المعلّمون وكاتبو المعايير الأداة لعرض نهايات أشهر الأيام الكبيسة مثل فبراير 2024 مقابل فبراير 2023 دون الاعتماد على تطبيقات حاسبة مبهمة تدرج بصمت أوقات اليوم.
اقرنها بمساعدات الأيام بين تاريخين أو طرح الأيام أو أسبوع ISO حين تحتاج خطوات تقويمية ذات صلة، وبأدوات حتمية مجانية أخرى عند بناء مختبر صغير من أدوات التاريخ.
حالات الاستخدام
نطاقات الفوترة والفواتير
احصل على تاريخَي بداية ونهاية شاملَين لشهر سنوي كي تغطّي الفواتير والاشتراكات الشهر الكامل دون تثبيت عدد الأيام يدويًّا.
فبراير الكبيس والأشهر القصيرة
تحقّق من أن فبراير ينتهي في 28 أو 29 وفق قواعد السنة الكبيسة الميلادية، وأن أبريل ويونيو وسبتمبر ونوفمبر تُغلَق بشكل صحيح في اليوم الثلاثين.
الأسئلة الشائعة
ماذا يحدث إذا كان الشهر خارج نطاق 1 إلى 12؟
يجب أن يكون الشهر عددًا صحيحًا من 1 (يناير) حتى 12 (ديسمبر).
كيف تُعالَج السنوات الكبيسة بالنسبة لفبراير؟
تكون السنة كبيسة إذا كانت قابلة للقسمة على 4، إلا سنوات القرن (القابلة للقسمة على 100) غير القابلة للقسمة أيضًا على 400. عندها يكون لفبراير 29 يومًا (مثل 2024 و2000)، وإلا فـ28.
هل تستخدم هذه الأداة كائن Date في الجهاز؟
لا. أطوال الأشهر وقواعد السنة الكبيسة حساب أعداد صحيحة بحت بجدول ثابت، فتكون النتائج قابلة لإعادة الإنتاج عبر بيئات التشغيل دون تأثيرات منطقة زمنية أو ساعة.
ما الأشهر التي تنتهي في اليوم 30؟
تنتهي أبريل ويونيو وسبتمبر ونوفمبر في اليوم 30، فمثلًا يمتد أبريل 2024 من 2024-04-01 إلى 2024-04-30. وينتهي فبراير في اليوم 28 أو 29 في السنة الكبيسة، وتنتهي بقية الأشهر في اليوم 31.
هل يدخل التاريخان ضمن مدة الشهر؟
نعم. فالتاريخ الأول هو دائمًا اليوم 1 والأخير هو اليوم الأخير الفعلي، لذلك يغطي المرشح أو الفاتورة الممتدة بينهما الشهر كله دون إسقاط أي يوم في نهايته.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/date/month-start-end \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"year":2024,"month":2}'const res = await fetch("https://api.kit.forhosting.com/date/month-start-end", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"year": 2024,
"month": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/month-start-end",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"year": 2024,
"month": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/month-start-end", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"year":2024,"month":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"year":2024,"month":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/month-start-end", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"year": 2024,
"month": 2
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.month_start_end",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
year_min | 1 |
year_max | 9999 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
استخدمها مجانًا في المتصفح لنوافذ الفوترة ونطاقات التقارير والواجبات المدرسية، أو استدعِ واجهة برمجة التطبيقات مقابل $0.002 لكل طلب ناجح حين تحتاج حدود شهر ثابتة قابلة لإعادة الإنتاج في التكامل المستمر أو خطوط أنابيب الجدولة أو ميزات المنتج التي لا يجوز أن تخترع تواريخ نهاية شهر يدويًّا.
ماذا تعني بداية الشهر ونهايته وماذا تحتوي الاستجابة
تزوّد الأداة بسنة صحيحة وشهر صحيح من واحد ليناير حتى اثني عشر لديسمبر؛ تتحقّق الحاسبة من هذين الحقلَين، وتبحث عن عدد أيام ذلك الشهر في تلك السنة وفق التقويم الميلادي الاسترجاعي، وتُرجع first_date كـ YYYY-MM-01، وlast_date كـ YYYY-MM مع اليوم الأخير الحقيقي مع صفر بادئ عند الحاجة، وfirst_day يساوي واحدًا دائمًا، وlast_day يساوي days_in_month، وmonth_name بالإنجليزية للعرض، وis_leap_year للمستدعين الحسّاسين لفبراير، وتذكيرًا مختصرًا بالصيغة. لا توجد بداية أسبوع تعتمد على المنطقة، ولا تقريب عائم لطول اليوم، ولا اعتماد على كائن Date في الجهاز: فإما أن تكون السنة والشهر صالحَين ضمن النافذة المدعومة وتكون الحدود محدَّدة تمامًا، أو يفشل الطلب برمز invalid_input.
كيف تُقرأ السنة والشهر وكيف يبقى فبراير الكبيس صحيحًا
الحقل الثاني المفضّل هو month، بأسماء بديلة m وM وmon للسبب نفسه. قد تصل كل قيمة كرقم، أو سلسلة عدد صحيح خالص بعلامة اختيارية، أو bigint يقع ضمن نطاق الأعداد الصحيحة الآمنة؛ أما الكسور العشرية المضمّنة وبادئات الست عشري والرموز غير الرقمية فتُرفض برسالة واضحة كي لا تتحوّل خلية خاطئة إلى يوم أخير خاطئ. تأتي أطوال الأشهر من جدول ثابت بواحد وثلاثين أو ثلاثين أو ثمانية وعشرين يومًا، إلا فبراير الذي يصبح تسعة وعشرين حين تكون السنة كبيسة ميلاديًّا: القابلية للقسمة على أربعة إلا سنوات القرن غير القابلة للقسمة على أربعمئة. تُعطي هذه القاعدة بشكل صحيح 2024-02-29 و2000-02-29 بينما ترفض أي محاولة لاختراع اثنين وثلاثين يومًا في أي شهر. الحقل الأول المفضّل هو year، لكن الأسماء البديلة y وY مقبولة كي تستطيع جداول البيانات وسلاسل الاستعلام والنماذج المُكتَّبة إعادة استخدام العقد نفسه دون إعادة تسمية الأعمدة. بعد التحليل، يجب أن تقع year بين 1 و9999 شاملةً، وmonth بين 1 و12 شاملةً — قيم مثل 0 أو 13 أو 2024 كشهر تفشل برمز invalid_input تسمّي حقل الشهر. اليوم الأول واحد دائمًا؛ واليوم الأخير يساوي days_in_month؛ يُنسَّق كلا الحدَّين بسنة من أربعة أرقام وشهر ويوم من رقمَين. اقرن التشغيل المجاني في المتصفح بالواجهة البرمجية المدفوعة حين تحتاج حدود الشهر نفسها داخل خط أنابيب آلي.
أين تفيد حدود الشهر في الفوترة والتقارير والبرمجيات
تعمل هذه الصفحة كليًّا داخل متصفحك؛ وعبر الواجهة البرمجية يكلّف كل استعلام ناجح $0.002، ولا تُحتسب رسوم على التحقّق الفاشل، ولا يُحفَظ شيء بعد إعادة الاستجابة. هذا الفصل — استكشاف تفاعلي مجاني وواجهة برمجية مدفوعة مطابقة له — يواكب بقية كتالوج الفئة A في KIT، ويتيح لك الانتقال من فحص لمرّة واحدة إلى خط أنابيب دون أن تتغيّر النتيجة الرياضية.
حالات التكامل
بيانات اختبار حتمية
أنشئ سلاسل first_date وlast_date قابلة لإعادة الإنتاج لاختبارات الوحدة وفحوص الخصائص وتأكيدات التكامل المستمر دون الاعتماد على Date أو ساعة الجهاز.
أسئلة تقنية
كم تكلّف حاسبة أول وآخر يوم في الشهر؟
هي مجانية في متصفحك على هذه الصفحة. عبر الواجهة البرمجية يكلّف الطلب الناجح $0.002؛ ولا تُحتسب رسوم على المدخلات غير الصالحة.
كيف يُعرَّف تاريخا البداية والنهاية؟
لسنة وشهر مُتحقَّق منهما، first_date دائمًا YYYY-MM-01 وlast_date هو YYYY-MM-{days_in_month}، حيث يأتي days_in_month من جدول أطوال الأشهر الميلادي (29 فبراير في السنوات الكبيسة).