ش | ی | د | س | چ | پ | ج |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
19 جولای سال 622 شروع تاریخ قمری است و مصادف با 27 تیر سال یک شمسی
Dim D(12) As Long
D(1)=30 : D(2)=59 : D(3)=89 : D(4)=118 : D(5)=148 D(6)=177 : D(7)=207 : D(8)=236 : D(9)=266 : D(10)=295 : D(11)=325 : D(12)=354
یک در میان ماه ها ی قمری را بصورت قراردادی 29 مشخص کرده اند یعنی ماه اول که محرم است 30 روز و ماه بعدی 29 و با این منوال ماه های فرد را 30 روز و ماه های زوج را 29 روزه گرفته اند و در صورت کبیسه بودن سال طبق جدول ، روش رایج در گاه شمار قراردادی ماه آخر بجای 29 روزه 30 روزه در نظر خواهند گرفت.
در رایجترین تقویم هجری قمری حسابی طی یک دوره سی ساله کبیسه منظم از قرار زیر محاسبه شدهاست:
بر اساس این کبیسهگیری، چنانچه باقیماندهٔ حاصل تقسیم سال قمری به عدد ۳۰ یکی از اعداد (۲، ۵، ۷، ۱۰، ۱۳، ۱۶، ۱۸، ۲۱، ۲۴، ۲۶ و ۲۹) باشد، سال مذکور کبیسه و طول آن (۳۵۵ روزه) میباشد.
با کانتر براحتی میتوان تاریخ دقیق را بدست آورد اگر کبیسه دقیق و طبق جدول، روش رایج ،که اقتباس شده بدست آید ، ولی در فواصل طولانی حدودا ۳ ثانیه بازگشت بطول خواهد انجامید پس باید دنبال راهی باشید که کمترین زمان برگشتی را داشته باشد.
18 ژانویه سال 624 معادل 27 دی سال 2 ، اختلاف با تابع DateDiff اکسس بین 19 جولای 622 که شروع قمری است تا تاریخ 18 ژانویه ی 624 موردتبدیل ما 549 روز است که یک واحد به آن اضافه می کنیم .
در اینجا 550 از 354 بزرگتر است پس D12 را از آن کم میکنیم میشود 195 و سال هم بالطبع یک واحد بدان اضافه شده و 2 خواهد شد ، طبق آرایه ی بالا 195 بین D6 و D7 است پس کوچکتر از عدد 195 را انتخاب میکنیم 177-195 که میشود 18 ( روز ) و عدد آرایه ی 177 6 است که آنرا باضافه ی یک می کنیم که ماه عدد 7 می شود
بنابراین سال شد 2 ماه 7 و روز هم 18
2/4/14 - 6 جولای 623 و 28 ذی الحجه سال ۱ قمری ، 352
2/4/15 - 7 جولای 623 و 29 ذی الحجه سال ۱ قمری ، 353
2/4/16 - 8 جولای 623 و 1 محرم سال 2 قمری ، 354
2/4/17 - 9 جولای 623 و 2 محرم سال 2 قمری ، 355
۱۲ تیر سال ۵ شمسی معادل ۴ جولای ۶۲۶ و ۳۰ محرم (۱) سال ۵ ... اختلاف ۱۴۴۶ روز
۷ تیر سال ۵ شمسی معادل ۲۹ جون ۶۲۶ و ۲۵ محرم (۱) سال ۵ ... اختلاف ۱۴۴۱
۲۷ تیر سال یک شمسی آغار سال قمری و ۱۹ جولای ۶۲۲ آغاز سال قمری اختلاف ها با DateDiff
1446=("Dif=DateDiff("n","7/19/622","7/4/626
Ret=Dif=1446+1=1447
( If 1447>354 (True
Y=2 Ret=1447-354=1093
( If 1093>354 (True
2=Kabiseh Y=3 Ret=1093-355=738
( If 738>354 (True
3=NoKabiseh Y=4 Ret=738-354=384
( If 384>354 (True
4=Nokabiseh Y=5 Ret=384-354=30
(If 30>354 (False
(If Ret=D(1) , M=۰ : Ret=D(1
If Ret<D(1) , M=۰ : Ret=D(1)-Ret
... If
... If
M=M+1
تا زمانی لوپ ادامه می یابد که Ret کوچکتر مساوی (D(M شود
Ret=30 , M=1
Year : 5 , M : 1 , D : 30
۳۰ محرم سال ۵