اخبار، مطالب و رویدادهای مرتبط با توسعه نرم افزار رادکام

الگوریتم تبدیل روزهای جولین(ژولین) به تاریخ هجری قمری

روش تبدیل روز جولین به تاریخ قمری برعکس روش تبدیل تاریخ قمری به روز جولین است :

1. از مقدار داده شده 1948085 روز( مبدا تاریخ هجری به روز جولین) را کم می کنیم.
2. عدد به دست آمده را بر 10631 تقسیم کرده و خارج قسمت و باقیمانده را مشخص می کنیم.
3. از جدول زیر سال مربوط به  آخرین عدد کوچکتر(آن را x می نامیم) از باقیمانده را مشخص می کنیم.

سال روز سال روز سال روز
00 0 10* 3543 20 7087
01 354 11 3898 21* 7441
02* 708 12 4252 22 7796
03 1063 13* 4606 23 8150
04 1417 14 4961 24* 8504
05* 1771 15 5315 25 8859
06 2126 16* 5669 26* 9213
07* 2480 17 6024 27 9568
08 2835 18* 6378 28 9922
09 3189 19 6733 29* 10276
  30 10631
* = سالهای کبیسه

4. خارج قسمت را در 30 ضرب  کرده و با  تعداد سال بدست آمده در (3) جمع می کنیم.عدد بدست آمده سال قمری معادل را بدست می دهد.
5. تفاضل باقیمانده و x را بدست آورده و با استفاده از جدول زیر آخرین عدد کوچکتر( آن را y می نامیم) از تفاضل( آن را t می نامیم) را پیدا می کنیم که نشاندهنده ماه قمری معادل است.
6. حال تفاضل t و y  را بدست می آوریم و به این ترتیب روز معادل نیز به دست می آید.

ماههای تقویم هجری
ماه روز ماه روز ماه روز
1. محرم 0 5. جمادی الاول 118 9. رمضان 236
2. صفر 30 6. جمادی الثانی 148 10. شوال 266
3. ربیع الاول 59 7. رجب 177 11. ذیقعده 295
4. ربیع الثانی 89 8. شعبان 207 12.ذیحجه 325

با یک مثال کاملا موضوع روشن می شود، 2450713 روز جولین را به قمری تبدیل می کنیم :

  •  2450713 - 1948085  = 502628
  • 502628 را بر 10631 تقسیم کرده خارج قسمت  47 و باقیمانده 2971 بدست می آید.
  • با توجه به جدول آخرین عدد کوچکتر از 2971 ، عدد 2835 تعداد روزهای 8 سال است .
  • حال با ضرب 30 در 47 و جمع با 8  ، 1418 که همان سال قمری معادل است را به دست می آوریم.
  • 2971 - 2835 = 136 ، و با توجه به جدول ماه ها آخرین عدد کوچکتر 118 است یعنی ماه قمری معادل جمادی الاول است.
  • 118 - 136 = 18 روز قمری معادل
    به این ترتیب تاریخ 18 جمادی الاول 1418 بدست  می آید.

شهبازی
۱۳۹۸/۰۶/۱۱
0
2

سلام، ضمن تشکر بابت ارائه و توضیح بسیط الگوریتم، متاسفانه این الگوریتم با تاریخ صحیح کمی مغایرت دارد. بطور مثال در سال ۱۳۹۸، محرم ۲۹ روزه است درصورتیکه بر اساس این الگوریتم محرم ۳۰ روزه در نظر گرفته میشود. مثلا ۲۷ مهر ۱۳۹۸ مصادف با ۲۰ صفر ۱۴۴۱ است. لیکن خروجی الگوریتم ۱۹ صفر است! البته این اختلاف دور از انتظار نیست. چرا که تقویم قمری بر اساس رویت ماه در ایران ممکن است دچار تغییر شود. به نظر نمیرسد بتوان آن را در الگوریتم منظور نمود.


نام را وارد کنید
تعداد کاراکتر باقیمانده: 1000
نظر خود را وارد کنید