در این صفحه
اصل ما#
RTLY-Kit هیچ وابستگی زمان اجرا ندارد. برای همین دادههای مرجعش داخل خود بسته است. بیشتر این دادهها منبع رسمی و ماشینخوان ندارند و از صفحههای عمومی ساخته شدهاند. این صفحه منبعها را میگوید، اینکه چه چیزی را با چه چیزی مقایسه کردهایم و تاریخ هر بررسی. هر جا به منبع رسمی دسترسی داشتیم، آن را ترجیح دادهایم.
قاعدهٔ دو منبع#
یک 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-10 | Hijri::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 است.
- پیششمارهٔ موبایل. هر پیششماره داخل بلوکی است که طرح شمارهگذاری برای خدمات موبایل فهرست کرده. چون شماره قابل انتقال بین اپراتورهاست، پیششماره اپراتور فعلی را ثابت نمیکند.
خوب است بدانید#
اشتباهی دیدید؟ لطفاً در GitHub همراه با منبع یک issue باز کنید. منبع خوب سریعترین راه برای اصلاح یک جدول است.