حاسبة ساعات النهار
تجيب حاسبة ساعات النهار عن سؤال فصلي ما زال المعماريون والمزارعون والبحّارة وطلاب الفلك يطرحونه: كم ساعة من ضوء الشمس تسقط على خط عرض معلوم في يوم معلوم من السنة.
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
يأخذ هذا الطرف يوم السنة الترتيبي وخط العرض الجيوديسي للراصد، ويقرّب انحراف الشمس بالنموذج الجيبي التمامي الموسمي المعتاد، ويعيد المدة الهندسية لضوء النهار بالساعات. عند خط الاستواء يعطي النموذج اثنتي عشرة ساعة كل يوم؛ ونحو القطبين يمتد نحو أربع وعشرين ساعة حول الانقلاب الصيفي المحلي وينكمش نحو الصفر حول الانقلاب الشتوي المحلي. يُرفض خط العرض خارج الفترة المغلقة من ناقص تسعين إلى زائد تسعين درجة بـ invalid_input بدل نتيجة ملفوفة أو تخييلية. والحساب الصرف نفسه يغذّي الـ widget المجاني في المتصفح وواجهة API المدفوعة مسبقًا، بلا شبكة ولا بذرة عشوائية ولا اعتماد على ساعة الجدار، فلا تختلف فحوص الواجبات وأنابيب الإنتاج في عدّ الساعات.
طريقة الاستخدام
أدخل القيم في النموذج أعلاه. تتحقق الأداة منها قبل الحساب ثم تعرض النتيجة في الصفحة نفسها.
راجع بياناتك
اتبع التسميات والوحدات الموضحة بجانب كل حقل. إذا كانت قيمة مفقودة أو خارج النطاق، توضح الصفحة الحقل الذي يحتاج إلى تصحيح.
أعد الحساب أو نفّذه آليًا
استخدم أداة الويب للفحوص الفردية، واستخدم الواجهة البرمجية عند دمج الإمكانية نفسها في سير عمل آلي.
حالات الاستخدام
احصل على النتيجة الآن
أدخل مجموعة من القيم وشاهد النتيجة من دون إعداد جدول بيانات أو برنامج نصي.
قارن السيناريوهات
غيّر قيمة واحدة في كل مرة وأعد الحساب لمعرفة ما الذي يؤثر في النتيجة.
أتمت العمل المتكرر
استخدم الواجهة البرمجية عندما تحتاج إلى تشغيل الحساب نفسه داخل منتجك أو سير عملك.
الأسئلة الشائعة
كيف تحسب حاسبة ساعات النهار المدة من اليوم وخط العرض؟
تقرّب الانحراف الشمسي بالصيغة δ=23.45·cos(2π/365·(N−172)) ثم تقيّم D=(24/π)·arccos(−tan(φ)·tan(δ)). أرسل العدد الصحيح day (1–366) وlat بالدرجات. حقل الاستجابة daylight_hours هو المدة.
ماذا يحدث إذا خرج خط العرض عن −90 إلى 90 درجة؟
تفشل المهمة بـ invalid_input مع تسمية lat. خط العرض وراء القطبين ليس موضعًا جغرافيًا لهذا النموذج، والطلب لا يُحاسب.
لماذا تكون ساعات النهار اثنتي عشرة عند خط الاستواء كل يوم؟
عند lat 0 يكون tan(φ) صفرًا، فزاوية الشروق الساعية 90 درجة وD تساوي 12 ساعة تمامًا في النموذج الهندسي، بمعزل عن الانحراف.
هل تعالج الحاسبة شمس منتصف الليل والليل القطبي؟
نعم. عندما |tan(φ) tan(δ)| ≥ 1 لا توجد زاوية ساعية حقيقية للشروق: daylight_hours تساوي 24 مع regime midnight_sun، أو 0 مع regime polar_night.
كم تبلغ تكلفة حاسبة ساعات النهار هذه؟
أداة المتصفح مجانية. تستخدم طلبات API رصيد KIT المدفوع مسبقًا بسعر $0.002 لكل مكالمة ناجحة؛ والإدخال غير الصالح لا يُحاسب.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/phys/daylight \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"day":172,"lat":40}'const res = await fetch("https://api.kit.forhosting.com/phys/daylight", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"day": 172,
"lat": 40
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/phys/daylight",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"day": 172,
"lat": 40
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/phys/daylight", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"day":172,"lat":40}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"day":172,"lat":40}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/phys/daylight", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"day": 172,
"lat": 40
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "phys.daylight",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |