حاسبة أطوار القمر
أدخل تاريخًا واعرف طور القمر: في 1 يناير 2026 يكون عمر القمر 12.421 يومًا ونسبة إضاءته 93.9 بالمئة، وهو في طور الأحدب المتزايد. ويعتمد الحساب على متوسط الشهر القمري البالغ 29.530588853 يومًا. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- التاريخ
- 2026-01-01
- عمر القمر (أيام)
- 12.421
- الإضاءة (%)
- 93.9
- الطور
- أحدب متزايد
- الدورة القمرية (أيام)
- 29.530588853
بمعلومية تاريخ بصيغة ISO، تُعيد عمر القمر بالأيام منذ محاق معلوم، ونسبة جزئه المضاء كنسبة مئوية، والطور المسمّى، مستعملةً متوسط الشهر السنودي البالغ 29.530588853 يومًا.
كيف يُحسب طور القمر
ينتقل القمر من المحاق إلى البدر ثم يعود إلى المحاق في شهر اقتراني متوسط طوله 29.530588853 يومًا. تعدّ الحاسبة الأيام بين محاق معروف وتاريخك، محسوبًا عند الساعة 12:00 بالتوقيت العالمي، وتحتفظ بالباقي ضمن الدورة الحالية فقط، وهذا الباقي هو عمر القمر. وتتبع نسبة الجزء المضيء من القرص منحنى سلسًا لهذا العمر، قريبًا من 0 بالمئة عند المحاق ويبلغ ذروته 100 بالمئة قرب البدر. وفي 1 يناير 2026 يبلغ العمر 12.421 يومًا والإضاءة 93.9 بالمئة.
فيمَ تفيد النتيجة وما حدودها
يأتي اسم الطور من تقسيم الدورة إلى ثمانية أجزاء متقاربة الطول، من المحاق مرورًا بالهلال والتربيع والأحدب ثم العودة إلى البداية. لذا فهي مصدر موثوق للتقاويم وصفحات التقويم الفلكي ولوحات المتابعة وأيقونات القمر لكل يوم من الشهر. لكنها تقريب للطور المتوسط يتجاهل أن مدار القمر بيضاوي قليلًا، فقد يختلف الطور والإضاءة بنحو يوم. أما المواقع الفلكية الدقيقة فتحتاج إلى جداول فلكية متخصصة.
حالات الاستخدام
أدوات التقاويم والروزنامة الفلكية
اعرض الطور والإضاءة لكل يوم من شهر، مسيّرًا أيقونات القمر من الطور المسمّى الحتمي.
الأسئلة الشائعة
أي دورة سنودية يستعمل؟
متوسط الشهر السنودي البالغ 29.530588853 يومًا، مرتكزًا على محاق مرجعي في 2000-01-06 الساعة 18:14 بالتوقيت العالمي.
ما مدى دقّة الطور والإضاءة؟
إنه نموذج طور متوسّط يتجاهل الانحراف المداري، فتكون النتائج دقيقة إلى نحو يوم، مثاليةً للتقاويم ولوحات المعلومات.
ما أطوار القمر الثمانية بالترتيب؟
المحاق، ثم الهلال المتزايد، فالتربيع الأول، فالأحدب المتزايد، فالبدر، فالأحدب المتناقص، فالتربيع الأخير، فالهلال المتناقص. ويشغل كل طور نحو ثُمن الشهر القمري، وبعد آخرها تبدأ الدورة من جديد بالمحاق.
ماذا يعني عمر القمر؟
هو عدد الأيام منذ آخر محاق، ويمتد من 0 إلى نحو 29.53 قبل أن تبدأ الدورة من جديد. وفي 1 يناير 2026 يبلغ العمر 12.421 يومًا، فيكون القمر في طور الأحدب المتزايد.
في أي ساعة من اليوم يُحسب الطور؟
يُحسب كل تاريخ عند الساعة 12:00 بالتوقيت العالمي، أي منتصف النهار. وبذلك تكون لكل تاريخ إجابة واحدة، ويعرض التقويم الطور والإضاءة نفسيهما أينما فُتح.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/moon-phase \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2026-01-01"}'const res = await fetch("https://api.kit.forhosting.com/dev/moon-phase", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2026-01-01"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/moon-phase",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2026-01-01"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/moon-phase", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2026-01-01"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2026-01-01"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/moon-phase", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"date": "2026-01-01"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.moon_phase",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
نموذج العمر بالشهر السنودي
وتُشتق الإضاءة من ذلك العمر بوصفها (1 - cos(2*pi*age/SYNODIC_DAYS)) / 2 * 100، وهي منحنى سلس يبلغ ذروته عند 100% قرب البدر ونحو 0% عند المحاق. وهو يقوّم كل تاريخ عند الساعة 12:00 بالتوقيت العالمي، ويأخذ الأجزاء من الألف من الثانية المنقضية منذ الحقبة، ويقسمها على 86400000 لإيجاد الأيام، ثم يختزل ذلك بباقي القسمة على الطول السنودي؛ ويُلَفّ الباقي السالب إلى الأمام بإضافة دورة كاملة، فيكون age_days دائمًا في المجال [0، 29.53). ولتاريخ 2026-01-01 يُعيد هذا age_days قدره 12.421 وillumination_percent قدره 93.9، مطابقًا للمخرَج الذهبي المشحون تمامًا.
كيف يُختار اسم الطور
تُنتقى سلسلة الطور بمقارنة age_days بثماني عتبات ثابتة، كلٌّ منها نحو ثُمُن الشهر السنودي. فالأعمار دون 1.84566 هي 'new'، ثم 'waxing_crescent' دون 5.53699، و'first_quarter' دون 9.22831، و'waxing_gibbous' دون 12.91963، و'full' دون 16.61096، و'waning_gibbous' دون 20.30228، و'last_quarter' دون 23.99361، و'waning_crescent' دون 27.68493؛ وأي قيمة عند تلك الحدّ الأخير أو فوقه تلتفّ عائدةً إلى 'new'. ولأن عمر 2026-01-01 هو 12.421، فإنه يقع في نطاق waxing_gibbous. وهذا تقريب بالطور المتوسّط: فهو يتجاهل الانحراف المداري للقمر، فيكون الطور المسمّى والإضاءة دقيقين إلى نحو يوم، وهو أكثر من كافٍ للتقاويم ولوحات المعلومات والمحتوى لكن لا لأعمال التقويم الفلكي الدقيقة.
التحقق من التاريخ والتقريب
ومعامل decimals الاختياري قيمته الافتراضية 3 ويجب أن يكون عددًا صحيحًا من 0 إلى 6. يجب أن يكون التاريخ سلسلةً بصيغة YYYY-MM-DD الصارمة، مفحوصةً بتعبير نمطي؛ ويجب أن يكون الشهر من 1 إلى 12 واليوم من 1 إلى 31، ويُتحقَّق من التقويم الحقيقي بمسبار توقيت عالمي قبل أي حساب، كي يُرفض تاريخ مستحيل مثل 2026-02-30، الذي كان كائن Date في جافاسكربت سيدحرجه بصمت إلى مارس، بوصفه invalid_input بدل قبوله بهدوء. ويُقرَّب age_days بقاعدة half-up إلى تلك الدقّة، بينما يُقرَّب illumination_percent دائمًا إلى منزلة عشرية واحدة بصرف النظر عن decimals. كما تُعيد الاستجابة التاريخ المدخل وثابت synodic_days، وأي قيمة وسيطة غير منتهية تُطلق invalid_input.
حالات التكامل
التصوير والتخطيط للأنشطة الخارجية
استعلِم عن illumination_percent عبر مدى تواريخ لإيجاد أحلك الليالي أو أنصعها لتصوير الفلك أو العمل الميداني.
أتمتة المحتوى والجدولة
مرّر التواريخ دفعةً عبر API لوسم المنشورات أو الفعاليات أو أدلّة الصيد/البستنة بطور القمر الصحيح.
أسئلة تقنية
أي صيغ التواريخ مقبولة؟
سلاسل YYYY-MM-DD الصارمة فقط. وتُرفض التواريخ المستحيلة مثل 2026-02-30 بوصفها invalid_input بدل دحرجتها.
ما قيم الطور الممكنة؟
new وwaxing_crescent وfirst_quarter وwaxing_gibbous وfull وwaning_gibbous وlast_quarter وwaning_crescent، مختارةً بعتبات العمر.
هل هي مجانية وكم تكلفة API؟
widget الصفحة مجاني (tier A) ويشغّل النواة الحتمية نفسها؛ وتُفوتر استدعاءات API لكل طلب ناجح من $0.002.