دقت و داده

هر جدول داده از کجا آمده، با چه چیزی و کی مقایسه‌اش کرده‌ایم و نتیجه یعنی چه. پیش از تکیه بر نتیجه‌ها در محیط واقعی بخوانید.

در این صفحه
  1. اصل ما
  2. قاعدهٔ دو منبع
  3. جدول‌های داده
  4. چه چیزهایی را بررسی کرده‌ایم
  5. اوقات شرعی: هر روش با چه چیزی مقایسه شده
  6. جدول‌های داده: بررسی 2026-10-08
  7. خوب است بدانید

اصل ما#

RTLY-Kit هیچ وابستگی زمان اجرا ندارد. برای همین داده‌های مرجعش داخل خود بسته است. بیشتر این داده‌ها منبع رسمی و ماشین‌خوان ندارند و از صفحه‌های عمومی ساخته شده‌اند. این صفحه منبع‌ها را می‌گوید، اینکه چه چیزی را با چه چیزی مقایسه کرده‌ایم و تاریخ هر بررسی. هر جا به منبع رسمی دسترسی داشتیم، آن را ترجیح داده‌ایم.

خوب است بدانید. منبع‌ها را در 2026-10-07 و 2026-10-08 (۱۵ و ۱۶ مهر ۱۴۰۵) بررسی کرده‌ایم. بانک‌ها ادغام می‌شوند، اپراتورها بازه‌ها را عوض می‌کنند و رؤیت هلال فرق می‌کند. پس هر جدولی با گذشت زمان قدیمی می‌شود. داده تا حد امکان درست است، ولی ثبت رسمی نیست. برای تصمیم حقوقی یا مالی، یک منبع رسمی را هم ببینید.

قاعدهٔ دو منبع#

یک BIN کارت، کد بانک شبا یا پیش‌شمارهٔ کد ملی فقط وقتی وارد جدول می‌شود که دست‌کم دو منبع مستقل با هم موافق باشند. مواردی که فقط در یک منبع بودند یا منبع‌ها دربارهٔ آن اختلاف داشتند وارد نشده‌اند. پس نبودن یک مورد یعنی «نمی‌دانیم»، نه «نامعتبر». ممکن است کارت معتبری باشد که getBankName() برایش null بدهد. بعضی مجموعه‌دادهٔ عمومی ریشهٔ مشترک دارند. برای همین توافقشان را قوی می‌دانیم ولی کاملاً مستقل نمی‌دانیم. فقط واقعیت‌ها (بازه‌های عددی و نام‌هایشان) را برداشته‌ایم و متن یا کدی از منبع‌ها کپی نشده است.

جدول‌های داده#

دادهاندازهبر چه پایه‌ایچه چیزی را سنجیده‌ایم
BIN کارت بانکی (BankCard::getBankName())۳۹ BINدو منبع هم‌نظر از میان masihgh/iranian-bank-list، ekhtebar.ir و bankavl.com، با بررسی نمونه‌ای در ircards و iranian_banksدر 2026-10-08 هر ۳۹ BIN دست‌کم در یکی از سه صفحهٔ عمومی (ekhtebar.ir، bankavl.com و pishkhanak.com) با همان بانک آمده بود. BIN شمارهٔ 585983 (تجارت) را هم اعلام خود بانک در ۳ خرداد ۱۳۹۵ تأیید می‌کند، به نقل از دو سایت خبری. بررسی خود کارت چک‌سام Luhn است و از این جدول استفاده نمی‌کند.
کد بانک شبا (Sheba::getBankName())۳۸ کدمجموعه‌دادهٔ persian-tools (از راه iranian-sheba)، pishkhanak.com، bankavl.com، nabzebourse.com و salambank.netمشخصات ملی IBAN بانک مرکزی (فهرست سال ۱۳۹۶، خوانده‌شده از آرشیو اینترنت) ۱۹ شناسه دارد و هر ۱۹ تا با جدول ما برابر است. کد 051 را هم روشن می‌کند: موسسه اعتباری توسعه. بقیهٔ کدها هر کدام دست‌کم در دو صفحهٔ عمومی هست. بررسی خود IBAN با ISO 7064 mod-97-10 است.
محل صدور کد ملی (NationalCode::getLocation())۵۴۷ پیش‌شمارهسه مجموعه‌دادهٔ عمومی باید دربارهٔ استان و شهر هم‌نظر باشند (persian-tools، Iranian-national-code-generator و node-iranian-ssn). مجموعهٔ چهارم (iran-lib) فقط می‌تواند رد کندفهرست رسمی وجود ندارد. پیش‌شماره محل صدور است، نه تولد یا سکونت. برای پیش‌شمارهٔ دیگر null می‌دهد.
پیش‌شمارهٔ موبایل (Mobile)۳۸ پیش‌شمارهٔ اپراتورفهرست‌های عمومی پیش‌شماره (en.wikipedia، fa.wikipedia، digiato.com، rondbaz.com، virgool.io و چند جای دیگر) و صفحه‌های ایرانسل، آپتل و شاتل موبایلطرح شماره‌گذاری ملی که سازمان تنظیم مقررات و ارتباطات رادیویی ۲۴ اوت ۲۰۲۶ به ITU داده، بلوک‌های موبایل را فهرست می‌کند. هر پیش‌شماره‌ای که ما به اپراتور وصل کرده‌ایم داخل یکی از این بلوک‌هاست و Mobile::isAllocated() از همین فهرست استفاده می‌کند. این طرح اپراتورها را نام نمی‌برد. پس نام اپراتورها بر جدول‌های عمومی تکیه دارد.
جدول ماه‌های ام‌القری (Hijri)سال‌های ۱۳۰۰ تا ۱۵۰۰ هجری قمری (از 1882-11-12 تا 2077-11-16)دادهٔ تقویم islamic-umalqura در ICU/CLDR. فقط طول ماه‌ها در بسته آمده استآغاز همهٔ ماه‌ها از ۱۳۱۸ تا ۱۵۰۰ هجری قمری با تقویم رسمی ام‌القری KACST (ummulqura.org.sa، شهر مکه) برابر است. بررسی در 2026-10-08: ۱۸۳ سال، ۲۱۹۶ آغاز ماه، بدون هیچ اختلاف. سایت رسمی سال‌های ۱۳۰۰ تا ۱۳۱۷ را ندارد و آن‌ها بر دادهٔ ICU/CLDR تکیه دارند.
تاریخ‌های رسمی تعطیلات (HolidayCalendar)سال‌های جلالی ۱۳۸۰ تا ۱۴۰۵تقویم سالانهٔ مرکز تقویم دانشگاه تهران و time.ir. برای ۱۳۹۵ یک فهرست خبری از تعطیلات رسمی۱۳۹۴ و ۱۳۹۶ تا ۱۴۰۵ رسمی هستند: جدول دانشگاه تهران و یک منبع دوم با هم می‌خوانند. ۱۳۸۰ تا ۱۳۹۳ و ۱۳۹۵ گزارش‌شده هستند: تاریخ‌ها از یک منبع منتشرشده.
ثابت‌های اوقات شرعی۶ روش، ۱۴ شهر داخلیکتاب Astronomical Algorithms از Meeus و معادله‌های خورشیدی NOAA، زاویه‌های منتشرشدهٔ هر روش، مختصات تقریبی شهرها از منابع عمومیدر فهرست هر روش، پایین‌تر.

داده در resources/data/*.php است و API عمومی نیست. محتوایش ممکن است در هر نسخه اصلاح شود (پایداری API). جزئیات و پیوندها در resources/data/SOURCES.md مخزن است.

چه چیزهایی را بررسی کرده‌ایم#

قابلیتچه چیزی را سنجیده‌ایمتوضیح
تبدیل جلالیقاعدهٔ حسابی چرخهٔ ۳۳ ساله برای هر سال از ۱۲۰۶ تا ۱۴۹۷ همان نوروز و همان سال‌های کبیسهٔ تقویم رسمی دانشگاه تهران را می‌دهد (۲۹۳ تاریخ نوروز از جدول رسمی). برای هر سال از ۱۱۷۸ تا ۱۵۰۲ با تعریف نجومی هم می‌خواند. با morilog/jalali هم در همهٔ روزها از 1900-01-01 تا 2099-12-27 (۷۳٬۰۰۰ روز) یکی است.بیرون از ۱۱۷۸ تا ۱۵۰۲ تعریف رسمی نداریم و کتابخانه قاعدهٔ ثابت را نگه می‌دارد. برای آن سال‌ها قاعده یک تقریب است.
تقویم عبریآزمون‌های پاسخ‌معلوم برای روش هاشانا از ۵۷۸۳ تا ۵۷۸۷ و رفت‌وبرگشت با تاریخ میلادیتقویم حسابی است.
هجری (ام‌القری)آغاز همهٔ ماه‌های ۱۳۱۸ تا ۱۵۰۰ در برابر تقویم رسمی KACST. لنگرها: اول رمضان ۱۴۴۶ = 2025-03-01، اول محرم ۱۴۴۷ = 2025-06-26، اول شوال ۱۴۴۵ = 2024-04-10Hijri::ummAlQuraVerifiedRange() مقدار [1318, 1500] را می‌دهد. برای ۱۳۰۰ تا ۱۳۱۷ دادهٔ ICU/CLDR به کار می‌رود. بیرون از ۱۳۰۰ تا ۱۵۰۰ و برای HijriVariant::Tabular تاریخ حسابی است و ممکن است یکی دو روز با رؤیت فرق کند.
تعطیلات ایرانتعطیلات ثابت جلالی دقیق‌اند. تعطیلات اسلامی در ۱۳۹۴ و ۱۳۹۶ تا ۱۴۰۵ تاریخ رسمی دارند، در ۱۳۸۰ تا ۱۳۹۳ و ۱۳۹۵ تاریخ گزارش‌شده، و در بقیهٔ سال‌ها تخمین از جدول ام‌القریتخمین ممکن است یکی دو روز با اعلام رسمی فرق کند. HolidayCalendar::sourceOf() می‌گوید هر سال از کدام منبع است.
اعتبارسنج‌هاچک‌سام کد ملی، Luhn و mod-97 الگوریتم‌های عمومی‌اند و آزمون پاسخ‌معلوم دارندنام بانک و اپراتور و محل از جدول‌های بالا می‌آید.
عدد به حروف عربیآزمون‌های پاسخ‌معلوم. شکل‌ها از منابع دستور زبان که در یادداشت‌های پروژه آمده پیروی می‌کنندچند خروجی منتظر بازبینی یک عرب‌زبان است. عدد به حروف عربی را ببینید.

اوقات شرعی: هر روش با چه چیزی مقایسه شده#

محاسبه از معادله‌های استاندارد نوشته شده. بررسی بیرونی مفید این است که برای یک شهر و تاریخ حساب کنیم و با جدولی مقایسه کنیم که خود مرجع منتشر کرده. گرد شدن دقیقه در دو طرف را می‌پذیریم (آزمون‌ها ±۲ دقیقه را قبول می‌کنند). سایت‌های تجمیع‌کننده را حساب نمی‌کنیم، چون همان زاویه‌های منتشرشده را به کار می‌برند. همهٔ مقایسه‌ها در 2026-10-08 انجام شده‌اند.

روشمقایسه بانتیجه
تهران (صبح ۱۷٫۷، مغرب ۴٫۵)جدول‌های ۱۴۰۵ مؤسسهٔ ژئوفیزیک دانشگاه تهران: تهران، مشهد، اصفهان و شیراز در چهار تاریخصبح، طلوع، ظهر و مغرب در حد ۱ دقیقه می‌خوانند. این جدول‌ها ستون عشا و عصر ندارند.
مکه (صبح ۱۸٫۵، عشا ۹۰ دقیقه و در رمضان ۱۲۰)تقویم ام‌القری: پنج تاریخ بیرون از رمضان و دو تاریخ در رمضان ۱۴۴۷هر شش وقت در حد ۱ دقیقه می‌خوانند.
مصر (۱۹٫۵ / ۱۷٫۵)دارالافتاء قاهره، شش تاریخ در اکتبر 2026هر شش وقت در حد ۱ دقیقه می‌خوانند.
MWL (۱۸ / ۱۷)ترکیه، دیانت: استانبول، آنکارا و ازمیر، چهار تاریخ بین ۸ اکتبر و ۷ نوامبر 2026امساک و یتسی منتشرشده در حد ۱ دقیقه با صبح و عشای ما می‌خوانند، پس با همین زاویه‌های گرگ‌ومیش جور هستند. ستون‌های دیگر دیانت با زمان نجومی ساده اختلاف ثابتی دارند که صفحه‌ها توضیح نمی‌دهند. آن‌ها را حساب نمی‌کنیم.
کراچی (۱۸ / ۱۸) با عصر حنفیجامعه علوم اسلامیه بنوری‌تاون، کراچی: هر ۳۱ روز اکتبر 2026صبح، طلوع، عصر، غروب و عشا در حد ۱ دقیقه می‌خوانند، در بیشتر روزها دقیقاً. دارالعلوم دیوبند قاعدهٔ حنفی (سایه دو برابر ارتفاع) را که ما به کار می‌بریم تعریف می‌کند.
کراچی (۱۸ / ۱۸)مالزی، JAKIM e-solat، منطقهٔ SGR01: چهار تاریخ در اکتبر 2026صبح و عشا ۱ تا ۲ دقیقه فرق دارند، که با زاویه‌های ۱۸ / ۱۸ جور است.
ISNA (۱۵ / ۱۵)شورای فقهی آمریکای شمالیشورا برای تنظیمی که با ISNA برابر است، ۱۵ درجه را هم برای صبح و هم برای عشا می‌گوید.

طلوع و غروب خورشید را با ماشین‌حساب خورشیدی NOAA هم سنجیده‌ایم (۱۲ جفت شهر و تاریخ، همه در حد یک دقیقه). عرض‌های بالا، ارتفاع و عشا و عصر روش تهران را با محاسبهٔ مستقل سنجیده‌ایم، نه با جدول منتشرشده. قاعدهٔ رمضانِ مکه از تاریخ مدنی پیروی می‌کند، نه روز اسلامی که از غروب شروع می‌شود. مرجع‌های مختلف زاویه‌های مختلفی دارند، پس روشی را انتخاب کنید که کاربرانتان دنبال می‌کنند.

جدول‌های داده: بررسی 2026-10-08#

جدول‌ها را با صفحه‌های عمومی و، هر جا به آن‌ها رسیدیم، با سندهای رسمی مقایسه کرده‌ایم.

  • BIN بانک‌ها. هر ۳۹ مورد در صفحه‌های عمومی هست و هیچ صفحه‌ای بانک دیگری را نام نمی‌برد. ثبت رسمی BIN در دسترس نبود.
  • کد شبا. ۱۹ کد مشخصات بانک مرکزی با جدول ما برابر است. بقیهٔ کدها هر کدام دست‌کم در دو صفحهٔ عمومی هست و ضعیف‌ترینشان 090 است.
  • پیش‌شمارهٔ موبایل. هر پیش‌شماره داخل بلوکی است که طرح شماره‌گذاری برای خدمات موبایل فهرست کرده. چون شماره قابل انتقال بین اپراتورهاست، پیش‌شماره اپراتور فعلی را ثابت نمی‌کند.

خوب است بدانید#

خوب است بدانید. (۱) ماه‌های هجری ۱۳۰۰ تا ۱۳۱۷ از دادهٔ ICU/CLDR می‌آیند و سایت رسمی نمی‌تواند تأییدشان کند. (۲) تعطیلات اسلامی ایران در سال‌های تخمینی ممکن است یکی دو روز با اعلام رسمی فرق کنند. (۳) جدول‌های بانک و شبا و اپراتور و کد ملی از فهرست‌های عمومی آمده‌اند. با هم و با سندهای رسمی بالا سازگارند، ولی با گذشت زمان قدیمی می‌شوند. (۴) جدولی از دانشگاه علوم اسلامی کراچی، ISNA یا رابطه جهان اسلام پیدا نکردیم، و جدول رسمی تهران با عشا و عصر هم نیست. (۵) چند خروجی عدد به حروف عربی منتظر بازبینی یک عرب‌زبان است.

اشتباهی دیدید؟ لطفاً در GitHub همراه با منبع یک issue باز کنید. منبع خوب سریع‌ترین راه برای اصلاح یک جدول است.