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