פורסם 2012 בנובמבר 1613 שנים אהלןאני צריך לחשב את ההפרש בחודשים בין שני תאריכים באופן מדויק. חיפוש קצר בגוגל הפנה אותי לתשובה הנ"ל:This method uses the number days in its calculations and rounds down to the nearest number of whole months. For example, given a start date of 10/30/00 and an end date of 11/30/00, one month is returned; however, an end date of 11/29/00 returns a zero.For this method, use the following formula=IF(DAY(LDate)>=DAY(EDate),0,-1)+(YEAR(LDate)-YEAR(EDate))*12+MONTH(LDate)-MONTH(EDate)עכשיו, שאלתי את המדריך בלימודים והוא טוען שניתן להגיע לפתרון ע"י "חישוב פשוט של ההפרש בין התאריכים, ולחלק בנתון עזר" כדבריו.אני לא מאמין שניתן לעשות זאת ולקבל תוצאה מדויקת - דגש על מדויקת ולא בערך.מה דעתכם?
פורסם 2012 בנובמבר 1613 שנים כדי שזה יהיה מדויק זה בוודאות לא כל כך פשוט. חוץ מזה שצריך להתחשב במספר ימים שונה לחודש צריך להתחשב גם בשנים מעוברות. בגדול שנה מעוברת זו שנה שמתחלקת ב 4. שנים שמתחלקות ב 100 לא מעוברות, שנים שמתחלקות ב 400 כן ושנים שמתחלקות ב 2000 לא. זה לפחות מה שאני זוכר, עשיתי משהו דומה לפני בערך 20 שנה אז כנראה אני לא זוכר בדיוק. תבדוק את זה.
פורסם 2012 בנובמבר 1713 שנים עזוב כרגע את הקוד. מה הבעיה העקרונית שלך? יש 12 חודשים בשנה אז זה לא אמור להיות כל כך מסובך.
פורסם 2013 במרץ 2212 שנים אני לא איזה מומחה גדול,אבל למה אתה לא יכול לקחת את שנה1 ולהכפיל ב12,לקחת את חודש1 ולהוסיף לתוצאה שיצאה לך מהשנה1 כפול 12 (נותן לך כמה חודשים סהכ' עברו מאז שנת 0 וחודש 0 ועד לתאריך הנבדק) ולעשות אותו הדבר לשנה2 וחודש 2 ולחסר בינהם?לדגומא:אני רוצה לבדוק מה ההפרש חודשים בין 5.2010 לבין ה3.2005,נגיד נפתח 2 משתנים X1 ו X2בראשון יהיהX1=2010*12+5 \\נותן לך את מספר החודשים שעברו עד 2010 ובנוסף נוסיף לזה 5 שאלה החודשים שעברו מאז 2010ולשני ניתןX2=2005*12+3 \\נותן לך את מספר החודשים שעברו עד 2005 ובנוסף נוסיף 3 כי אלה החודשים שעברו מאז 2005(כמובן שלא ניתן מספרים רגילים אלה הכל יהיה משתנים שמקבלים מהמקלדת)ואז כשמבצעים פעולת חיסור בין 2 המשתנים האלה מקבלים את הפרש החודשים.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.