الگوریتم تبدیل تاریخ میلادی به شمسی و بالعکس
منبع اول :
تبدیل تاریخ میلادی به شمسی، از آنجایی که اغلب سیستم های نرم افزاری و زبان های برنامه نویسی پشتیبانی از نوع تاریخ ما ندارند، همواره یکی از دغدغه های اصلی برنامه نویسی به شمار می آید. شیوه های مختلفی برای تبدیل یک تاریخ میلادی به شمسی وجود دارد و همچنین به لطف برنامه نویسان سخاوتمند ایرانی، نمونه کدهای زیادی به بیشتر زبان ها موجود است. در ادامه شیوه ساده ای از چگونگی تبدیل تاریخ میلادی به شمسی را شرح خواهیم داد. برای تبدیل تاریخ میلادی به شمسی، ابتدا بهتر است روزهای نخست هر دو سال را بدانیم. سال میلادی اول ژانویه، که تقریبا ۱۰ دی ماه است، شروع می شود. بنابراین اولین روز فروردین ماه، ۷۹ روز با آغاز سال میلادی فاصله داریم. برای این که بفهمیم سال کبیسه است یا خیر، از این شرط استفاده می کنیم: سال میلادی باید هم بر ۱۰۰ و هم بر ۴۰۰ بخش پذیر باشد؛ یا این که بر ۱۰۰ بخش پذیر نباشد، ولی بر ۴ بخش پذیر باشد. یعنی سال کبیسه داریم. برای محاسبه تاریخ شمسی، کلا دو حالت بیشتر موجود نیست: * فاصله روز تا روز اول سالی که در آن قرار داریم، از ۷۹ بیشتر است. در این حالت، قطعا در ماه های بعدی فروردین قرار داریم. برای محاسبه تاریخ دقیق آن ماه کافی است در مرحله اول، ۷۹ روزمان را کم کنیم که درست در اول فروردین بایستیم. حالا باید حساب شش ماه اول را از شش ماه دوم سوا کنیم. چون در شش ماه اول، شش ماه ۳۱ روزه بدون کاستی وجود دارد. برای همین اگر روز ما کمتر از ۳۱×۶ بود، در شش ماه نخست سال است، و اگر نه، در شش ماه دوم سال. محاسبه روز و ماه آن ساده است و به عهده خودتان می گذاریم. نکته: فاصله سال میلادی و سال شمسی ۶۲۱ سال است. * فاصله روز تا روز اول سالی که در آن قرار داریم، از ۷۹ کمتر است. مساله اصلی اینجاست که اگر سال قبل میلادی کبیسه باشد، فاصله سال جاری تا اولین روز دی ماه، ۱۱ روز است. یعنی یازدهم سال بعد، اول ژانویه است. اگر باقیمانده تقسیم صفر بشود، روز را ۳۰ محاسبه می کنیم و ۹ ماه به خارج قسمت اضافه می کنیم. اگر باقیمانده صفر نشود، ماه شمسی را با ۱۰ جمع می کنیم و باقیمانده، روز ماه است.
منبع دوم
روش تبدیل تاریخ هجری شمسی به تاریخ میلادی وبالعکس
باید توجه داشت که روزها وماههای شمسی ومیلادی درتمام سالها یکسان است وتغییر نمی کند.
مثلا شروع ژانویه برابر ۱۱ دی ماه و اول فروردین مطابق ۲۱ مارس است. لذا بااستفاده از هرتقویمی
مطابقت روزهای ماههای شمسی ومیلادی از هر سال را پیدا کرد.
الف-تبدیل تاریخ هجری شمسی به میلادی
برای تبدیل سال شمسی به میلادی چنا نچه روز مورد نظر بین اول فروردین تا ۱۱دی باشد عدد ۶۲۱
واگر روز مورد نظر بین ۱۱ دی تا آخراسفند باشد عدد ۶۲۲ را به سال شمسی می افزاییم تا سال میلادی
به دست آید.
مثلا:برای اینکه بدانیم ۱۵ خرداد(که همیشه برابر با ۵ ژوئن است) از سال ۱۳۴۲و۲۲بهمن ( ۱۱ فوریه)سال
۱۳۵۷ هجری شمسی مطابق چه سالی است این گونه محاسبه می کنیم.
میلادی ۱۹۶۳=۶۲۱+۱۳۴۲
میلادی ۱۹۷۹=۶۲۲+۱۳۵۷
ب-تبدیل تاریخ میلادی به هجری شمسی
چنانچه روز مورد نظر بین اول ژانویه تا ۲۱ مارس باشد عدد ۶۲۲ .واگر عدد مطلوب بین ۲۲ مارس
تا آخر دسامبرباشد عدد ۶۲۱ را از سال میلادی کسر می کنیم.
مثال۱: ۲۶ ژانویه (۶بهمن)۱۹۷۸میلادی (روز امضای پیمان ننگین کمپ دیوید)مطابق چه سال هجری
شمسی است؟
هجری شمسی ۱۳۵۶=۶۲۲-۱۹۷۸ مثال۲: ۶آگوست(۱۵مرداد )۱۹۴۵میلادی (روز بمباران اتمی هیروشیما)مطابق چه سال هجری شمسی است؟
هجری شمسی ۱۳۲۴=۶۲۱-۱۹۴۵
روش تبدیل سال قمری به شمسی وبا لعکس
هر سال قمری تقریبا ۱۰روزو۲۱ساعت از سال شمسی کوتاه تر است. در نتیجه بر مبنای محاسبه
سال قمری .از مبدا تاریخ اسلام.
تا کنون در مقایسه با سال شمسی ۴۲سال بیشتر گذشته است .به تعبیر دیگر هر ۳۳سال شمسی ۳۴
سال قمری است.بنا بر این برای سال قمری به سال شمسی و بالعکس از اعداد ۳۳و۳۴ به روش زیر
استفاده می شود.
هجری قمری ۱۴۲۸ =۴۲+۱۳۸۶—۴۲=۳۳: ۱۳۸۶
منبع : اینترنت


دیدگاههای تازه