(אקסס) טעות בפונקציה GregDateToHeb (תאריך עברי) בשנת 2045
-
בפרוג וכמדומני שגם פה בפורום מסתובב הקובץ הזה להמרת תאריכים.
יש בקובץ 2 שיטות להמרה,
בשיטה הראשונה (GregDateToHeb והפוך) ישנה טעותלא עליתי על שורש הבעיה אבל אלו הנתונים:
שנת ה'תת"ו (2045) אמורה להיות שנה כסדרה (ר"ה ביום ג') ובפונקציה היא יוצאת שנה מלאה.
שנת ה'תת"ז אמורה להיות שנה מלאה, והפונקציה נותנת שנה חסרה. (וזה מסדר א"כ את המשך הלוח..)
דהיינו מסוף חשון תת"ו עד סוף חשון תת"ז כל הלוח זז ביום.בהשוואת שתי ה'שיטות' (בדקתי משנת 2000 עד 2050) יש הבדל רק בשנה הנ"ל.
לכאורה הבעיה היא שהפונקציה דחתה את ראש השנה של תת"ז ליום שלישי (המולד ביום ראשון) במקום ליום שני.
נתון שאולי בגללו זה קורה הדחיה הכפולה: זו שנה יחידה מתוך עשרות שנים שמולד ר"ה (תת"ז) בשעה 17.פורסם במקור בפורום CODE613 ב16/06/2016 21:32 (+03:00)
-
הבעיה הייתה בדחיית בט"ו תקפ"ט (המולד ביום ראשון נדחה לשני בגלל אד"ו והפונקציה דחתה בנוסף לשלישי בגלל בט"ו)
ותודה למוישי מפרוגהקוד המקורי:
If arrLengthOfYears((lngHebYear - 1) Mod 19) = 13 And Weekday(strTemp) = 2 And dblMoladTimeDecimal >= (15 + 589 / 1080) / 24 And dblMoladTimeDecimal < 18 / 24 Then
הקוד המתוקן:
If arrLengthOfYears((lngHebYear - 1) Mod 19) = 13 And Weekday(strTemp) = 2 And dblMoladTimeDecimal >= 24 * dblMoladTimeDecimal >= (15 + (589 / 1080)) And 24 * dblMoladTimeDecimal < 18 Then
פורסם במקור בפורום CODE613 ב17/06/2016 00:25 (+03:00)