تبدیل تاریخ شمسی، میلادی و قمری

تاریخ را در یک کادر بنویس (مثل «۲۳ مرداد ۱۴۰۴» یا «۱۴۰۴/۰۵/۲۳») یا با سه فیلد جدا وارد کن. ابزار همان روز را هم‌زمان در هر سه تقویم — شمسی، میلادی و قمری — نشان می‌دهد، به‌علاوهٔ فاصله تا امروز، برج، و کبیسه بودن سال.

روش ورود تاریخ

با نام ماه، یا با اعداد و جداکنندهٔ / یا -.

مبنای شمسی: الگوریتم رسمی تعیین کبیسهٔ تقویم هجری خورشیدی (روش بیرشک) · فهرست کامل منابع قانونی

تبدیل تاریخ شمسی به میلادی چطور انجام می‌شود؟

هر سه تقویم اول به یک عدد میانی به نام «روز ژولیوسی» (Julian Day Number) تبدیل می‌شوند — شمارش پیوستهٔ روزها از یک مبدأ ثابت تاریخی. سپس همان عدد به تقویم مقصد برگردانده می‌شود. این روش خطای انباشته ندارد، چون هر تبدیل مستقیماً از مبدأ مشترک محاسبه می‌شود، نه از تبدیل‌های پی‌درپی.

روز ژولیوسی = تابع(سال، ماه، روزِ تقویم مبدأ)
تاریخ مقصد  = تابعِ‌معکوس(روز ژولیوسی) در تقویم مقصد
برج          = نام برجِ ماه شمسی (فروردین=حمل … اسفند=حوت)

نکتهٔ اصلی تقویم شمسی، قاعدهٔ کبیسه‌اش است. تقویم میلادی هر ۴ سال یک‌بار کبیسه دارد (با استثنای قرن‌های غیربخش‌پذیر بر ۴۰۰). تقویم شمسی این‌طور نیست — کبیسه بودن هر سال به فاصلهٔ واقعی بین دو اعتدال بهاری برمی‌گردد، و چرخه‌اش تقریباً هر ۴ سال با گاه‌گاه یک چرخهٔ ۵ ساله ترکیب می‌شود. این ابزار الگوریتم رسمی و منتشرشدهٔ محاسبهٔ این چرخه (معروف به روش بیرشک) را پیاده کرده، نه یک قاعدهٔ سادهٔ تقریبی.

مبنای محاسبه

یک مثال عددی کامل

فرض کن می‌خواهی ۱ فروردین ۱۴۰۳ را به میلادی تبدیل کنی. ارقام زیر واقعی‌اند و از همین الگوریتم به دست آمده‌اند:

مثال تبدیل ۱ فروردین ۱۴۰۳ به میلادی و قمری، با برج و شمارهٔ هفته
تاریخ شمسی چهارشنبه، ۱ فروردین ۱۴۰۳
تاریخ میلادی Wednesday، 20 March 2024
تاریخ قمری (تقریبی) الأربعاء، ۱۰ رمضان ۱۴۴۵
برج حمل (بره)
هفته هفتهٔ ۱ از ۵۲ (شمسی) — ISO: ۱۲
کبیسهٔ شمسی ۱۴۰۳ بله (اسفند ۳۰ روزه)

جدول مقایسهٔ سه تقویم

مقایسهٔ ویژگی‌های تقویم شمسی، میلادی و قمری
مبنای سال شمسی: اعتدال بهاری واقعی — میلادی: سال میانگین ثابت — قمری: ۱۲ دور کامل ماه
طول سال شمسی و میلادی: ≈ ۳۶۵٫۲۴ روز — قمری: ≈ ۳۵۴٫۳۷ روز
طول ماه شمسی: ۲۹ تا ۳۱ روز (ثابت به‌جز اسفند) — میلادی: ۲۸ تا ۳۱ روز (نامنظم) — قمری: ۲۹ یا ۳۰ روز (میانگین ۲۹٫۵)
قاعدهٔ کبیسه شمسی: چرخهٔ نامنظم مبتنی بر اعتدال — میلادی: هر ۴ سال (با استثنای قرن) — قمری: در این ابزار جدولی، الگوی ۱۱ سال از ۳۰ سال
دقت این ابزار شمسی و میلادی: دقیق، بدون تقریب — قمری: تقریبی (±۱ تا ۲ روز نسبت به رؤیت واقعی)

نکات و استثناها

نوروز، لحظهٔ نجومی است نه قاعدهٔ تقویمی

نوروز دقیقاً لحظهٔ اعتدال بهاری را نشانه می‌گیرد — لحظه‌ای که مرکز خورشید از استوای آسمانی می‌گذرد. همین باعث می‌شود ۱ فروردین بسته به سال، گاهی ۲۰ مارس و گاهی ۲۱ مارس میلادی باشد؛ این ابزار خودِ لحظهٔ ساعت و دقیقهٔ اعتدال را محاسبه نمی‌کند، فقط روز درست را از الگوریتم رسمی می‌گیرد.

چرا مناسبت‌های قمری هر سال جابه‌جا می‌شوند

چون سال قمری حدود ۱۱ روز از سال شمسی و میلادی کوتاه‌تر است، هر تاریخ قمری ثابت (مثل ۱ رمضان) هر سال حدود ۱۱ روز نسبت به تقویم شمسی یا میلادی زودتر می‌افتد. در یک دورهٔ حدود ۳۳ سالهٔ شمسی، یک تاریخ قمری مشخص یک دور کامل فصل‌های سال را طی می‌کند — به همین دلیل رمضان گاهی تابستان و گاهی زمستان می‌افتد.

محدودهٔ سال پشتیبانی‌شده

الگوریتم شمسی این ابزار برای بازهٔ مشخصی از سال‌ها (تقریباً از قرن‌ها پیش از هجرت تا حدود سال ۳۱۷۸ هجری شمسی) تعریف شده. بیرون این بازه، تاریخ رسمی وجود ندارد یا محاسبه نامطمئن است؛ ابزار در این حالت پیام خطا نشان می‌دهد.

ورودی تک‌کادری، محدودیت خودش را دارد

وقتی متن شامل نام یک ماه (شمسی، میلادی یا قمری) باشد، ابزار تقویم مبدأ را خودکار تشخیص می‌دهد. برای ورودی کاملاً عددی (بدون نام ماه)، چون همان رشتهٔ اعداد می‌تواند به هر سه تقویم تعلق داشته باشد، ابزار از دراپ‌داون «تقویم» کنار فرم کمک می‌گیرد — پس قبل از تایپ عدد خالص، مطمئن شو آن دراپ‌داون درست تنظیم شده.

این ابزار چه کاری نمی‌کند

  • تاریخ قمری رسمی برای مراسم مذهبی (رمضان، عید فطر، عید قربان) اعلام نمی‌کند — فقط تخمین جدولی می‌دهد که ممکن است ۱ تا ۲ روز با اعلام رسمی فرق کند.
  • اوقات شرعی (اذان، طلوع و غروب آفتاب) را محاسبه نمی‌کند — این نیاز به موقعیت جغرافیایی دارد و از دامنهٔ این ابزار بیرون است.
  • لحظهٔ دقیق (ساعت و دقیقه) اعتدال بهاری یا تحویل سال را محاسبه نمی‌کند، فقط تاریخ روز را.
  • تقویم سالانهٔ کامل (نمایش همهٔ روزهای یک سال) نمی‌سازد — این ابزار مستقل خودش را می‌خواهد.
  • تقویم‌های محلی یا مذهبی دیگر (مثل تقویم عبری یا تقویم چینی) را پشتیبانی نمی‌کند.
  • جای اعلام رسمی نهادهای دینی یا دولتی را نمی‌گیرد.

سؤالات متداول

تقویم رسمی ایران کدام است؟

تقویم هجری خورشیدی (شمسی)، با مبدأ هجرت پیامبر اسلام و مبنای گردش واقعی زمین به دور خورشید. سال نو (نوروز) دقیقاً لحظهٔ اعتدال بهاری را نشانه می‌گیرد، نه یک روز ثابت تقویمی.

چرا نوروز هر سال دقیقاً یک روز ثابت نیست؟

چون مبنای سال شمسی، لحظهٔ نجومی اعتدال بهاری است، نه یک قاعدهٔ تقویمی ثابت مثل کبیسهٔ میلادی. همین باعث می‌شود نوروز بسته به سال بین ۲۰ تا ۲۱ مارس (به‌ندرت ۱۹ یا ۲۲ مارس) جابه‌جا شود.

کبیسه در تقویم شمسی چطور تعیین می‌شود؟

برخلاف تقویم میلادی که هر ۴ سال یک‌بار کبیسه دارد، کبیسهٔ شمسی به فاصلهٔ واقعی بین دو اعتدال بهاری برمی‌گردد و در چرخه‌ای نامنظم (عمدتاً هر ۴ سال، گاهی هر ۵ سال) تکرار می‌شود. این ابزار از الگوریتم رسمی و منتشرشدهٔ تعیین کبیسه (روش بیرشک) استفاده می‌کند.

چرا تبدیل قمری این ابزار تقریبی است؟

تقویم قمری واقعی بر اساس رؤیت هلال ماه تعیین می‌شود که کشور به کشور و حتی شهر به شهر می‌تواند یک روز اختلاف داشته باشد. این ابزار از تقویم قمری جدولی (محاسباتی، نه رصدی) استفاده می‌کند که میانگین منطقی است ولی می‌تواند با اعلام رسمی ۱ تا ۲ روز فرق کند.

برای تاریخ مذهبی مثل عید فطر یا شروع رمضان می‌شود از این ابزار استفاده کرد؟

برای تخمین کلی بله، ولی برای تاریخ دقیق مراسم مذهبی، منبع درست اعلام رسمی رؤیت هلال است، نه این ابزار — دقیقاً همان محدودیتی که کنار خروجی قمری و در بخش «این ابزار چه کاری نمی‌کند» نوشته شده.

تفاوت سال قمری و شمسی چقدر است و چرا مناسبت‌های قمری هر سال زودتر می‌افتند؟

سال قمری حدود ۳۵۴ روز است (۱۲ ماه قمری میانگین ۲۹٫۵ روزه)، سال شمسی حدود ۳۶۵٫۲۴ روز. این یعنی هر سال شمسی، تقویم قمری حدود ۱۱ روز از آن عقب می‌افتد — به همین دلیل رمضان، محرم و مناسبت‌های قمری دیگر هر سال میلادی و شمسی حدود ۱۱ روز زودتر از سال قبل می‌افتند و در طول حدود ۳۳ سال یک دور کامل فصل‌ها را طی می‌کنند.

برج (زودیاک) در این ابزار چطور محاسبه می‌شود؟

از ماه شمسی مستقیم مشتق می‌شود: فروردین = حمل، اردیبهشت = ثور، تا اسفند = حوت. این نگاشت دقیق است — نه تقریبی — چون هم سال شمسی هم برج حمل، هر دو از لحظهٔ اعتدال بهاری آغاز می‌شوند؛ در واقع نام‌های ماه‌های شمسی از همین نام‌های برجی گرفته شده‌اند.

این ابزار چه بازهٔ سالی را پشتیبانی می‌کند؟

الگوریتم شمسی برای سال‌های تقریباً ۶۸۲ پیش از هجرت تا ۲۵۵۷ هجری شمسی تعریف شده. بیرون این بازه، ابزار خطا نشان می‌دهد به‌جای عدد غلط.

می‌شود فقط با تایپ «۲۳ مرداد ۱۴۰۴» جواب گرفت، بدون انتخاب جداگانهٔ روز و ماه و سال؟

بله، همین کار پیش‌فرض ابزار است. وقتی نام ماه (شمسی، میلادی یا قمری) را در متن تشخیص بدهد، تقویم مبدأ را خودش تعیین می‌کند. فقط برای ورودی عددی خالص (مثل ۱۴۰۴/۰۵/۲۳) باید از دراپ‌داون «تقویم» مشخص کنی کدام تقویم مدنظرت است.

چرا شمارهٔ هفته بر مبنای ISO 8601 نیست؟

استاندارد ISO 8601 هفته را از دوشنبه شروع می‌کند و بر مبنای سال میلادی می‌شمارد — برای کاربر فارسی که هفته از شنبه شروع می‌شود و سال کاری‌اش شمسی است، این عدد بی‌معناست. به همین دلیل عدد اصلی این ابزار، هفتهٔ شمسی (بلوک‌های ۷روزه از ۱ فروردین، شروع از شنبه) است؛ عدد ISO فقط به‌صورت پرانتزی و برای مقایسه کنارش نگه داشته شده.