تحويل التاريخ الهجري
تحويل التواريخ في الاتجاهين بين التقويمين الهجري والميلادي — يوم واحد أو شهر كامل أو سنة في كل طلب، وفق الرؤية العالمية للهلال أو التقويم الرسمي الإيراني. الأشهر المعلنة بالرؤية تُجاب من جداول موثّقة، وما بعدها تُحسب رؤية الهلال الفعلية حسابًا فلكيًا، وكل إجابة تذكر مصدرها.
GET https://theshia.org/api/v1/hijri
المعاملات
-
datedefault: today Gregorian day to convert, YYYY-MM-DD (years 1900 to 2100). -
yearoptional with month: that Gregorian month as a day-by-day map; alone: the full year (366-day budget). -
monthoptional 1 to 12, combined with year. -
hyreverse Hijri year, 1317 to 1523 (≈ Gregorian 1900–2100) — switches the direction to Hijri → Gregorian. -
hmreverse Hijri month, 1 (Muharram) to 12 (Dhul Hijjah). -
hdreverse Hijri day, 1 to that month's real length (checked); omit it for the whole month as a day-by-day map. -
calendardefault: moonsighting values: "moonsighting" (global crescent sighting) · "iran" (official reckoning; outside its table — after 19 March 2028 — it answers as moonsighting and says so in calendarUsed). -
offsetdefault: 0 -2 to 2 whole days — the conventional local-sighting adjustment, applied before Gregorian → Hijri conversion only.
- Answer layers, reported in source: "table" (an announced sighting, or Iran's official reckoning) → "computed" (crescent-visibility calculation: Meeus new moon + Yallop/Shaukat criterion, Tehran reference — the same engine as AL-Qamar; covers all future and historic dates) → "tabular" (arithmetic estimate, last resort).
- Response: gregorian, weekday, hijri { year, month, day }, monthName { en, ar, fa, ur }, formatted { en, ar, fa, ur } with localized digits, monthLength, calendarUsed, source. Whole-month Hijri queries return gregorianStart, gregorianEnd and a days map instead.
- Identical to the Hijri date shown on this site — both run the same library.
أمثلة برمجية
curl
curl "https://theshia.org/api/v1/hijri?hy=1448&hm=1" JavaScript
const res = await fetch("https://theshia.org/api/v1/hijri?hy=1448&hm=1");
const data = await res.json(); Python
import requests
data = requests.get("https://theshia.org/api/v1/hijri?hy=1448&hm=1").json() حدود الاستخدام
الاستجابات مخزنة بقوة على الحافة — يرجى التخزين من جهتكم أيضاً. الطلبات غير المخزنة محدودة بـ١٠٠ في الدقيقة لكل IP؛ والطلبات الضخمة (أكثر من ٤٩٦ حسابَ يوم×طريقة) تُرفض. مجاني للاستخدام المجتمعي، بلا ضمان توافر.