לפעמים אנו צריכים להשתמש בפונקציה אשר מקבלת תאריך ומחזירה את מספר השבוע בשנה של התאריך.
week(date)
הבעיה היא שקליקוויו מחשב את זה לפי שבוע שמתחיל ביום שני.
הסבר קצר על מדוע זו בעיה.....
תאריך מסוים שנופל ביום שני הוא בעצם גם לפי העברי וגם לפי הלועזי שייך לאותו שבוע (נגיד שבוע מספר 20 בשנה מסוימת).
הבעיה שאם אנו נצטרך לדעת מה מספר השבוע של התאריך הנופל יום אחד לפני התאריך הנ"ל . אז נקבל תשובות סותרות כי לפי השיטה העברית יום א' (היום שלפני) עדיין שייך לשבוע מספר 20 אולם לפי הלועזי יום א' הנ"ל שייך לשבוע הקודם, מספר 19.
הפתרון
תמיד להוסיך 1 לתאריך שאנו נותנים לפונקציה
כלומר
week(date+1)
יתן לנו את מספר השבוע העברי הנכון של
date
אגב
אותה הבעיה ופתרון דומה קיימים גם בפונקציה
networkdays(date_start,date_end)
זו פונקציה שמקבלת תאריך התחלה ותאריך סיום, ומחזירה את מספר ימי העבודה בתקופה הנבחרת.
וכפי שאתם מבינים גם כאן יש משמעות למתי מתחיל השבוע.
הפתרון הוא דומה רק שכאן יש להוסיף 1 לשתי התאריכים שהפונקציה מקבלת
networkdays(date_start+1,date_end+1)
וזה יתן את מספר הימים הנכון לפי השבוע העברי.