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