הפונקציה DateDiff

החזרת משתנה (‏ארוך) המציין את מספר מרווחי הזמן בין שני תאריכים שצוינו.

תחביר

DateDiff ( מרווח זמן, תאריך 1-, תאריך2 [, firstdayofweek] [, firstweekofyear] )

תחביר הפונקציה DateDiff מכיל את הארגומנטים הבאים:

עצה: ב-Access 2010, בונה הביטויים כולל את IntelliSense, כך שתוכל לראות אילו ארגומנטים הביטוי שלך דורש. 

ארגומנט

תיאור

interval

נדרש. ביטוי מחרוזת שהוא מרווח הזמן שבו אתה משתמש כדי לחשב את ההבדל בין תאריך 1- ו- תאריך2.

תאריך 1-, תאריך2

נדרש. משתנה (Date). שני תאריכים שבהם ברצונך להשתמש בחישוב.

firstdayofweek

אופציונלי. קבוע המציין את היום הראשון בשבוע. אם לא צוין, הפונקציה מניחה שיום ראשון מתקיימת.

firstweekofyear

אופציונלי. קבוע המציין את השבוע הראשון בשנה. אם לא צוין, ההנחה היא שהשבוע הראשון הוא השבוע שבו מתרחש 1 בינואר.

הגדרות

מרווח הזמן ארגומנט כולל הגדרות אלה:

הגדרה

תיאור

yyyy

שנה

q

רבעון

m

חודש

y

יום בשנה

d

יום

W

Weekday

ww

שבוע

H

שעה

n

דקה

s

שניה

הארגומנט firstdayofweek כולל את ההגדרות הבאות:

קבוע

ערך

תיאור

vbUseSystem

0

השתמש בהגדרה API של NLS.

vbSunday

1

יום ראשון (ברירת מחדל)

vbMonday

2

שני

vbTuesday

3

Tuesday

vbWednesday

4

רביעי

vbThursday

5

חמישי

vbFriday

6

שישי

vbSaturday

7

שבת

קבוע

ערך

תיאור

vbUseSystem

0

השתמש בהגדרה API של NLS.

vbFirstJan1

1

התחל עם השבוע שבו 1 בינואר מתרחש (ברירת מחדל).

vbFirstFourDays

2

התחל את השבוע הראשון הכולל לפחות ארבעה ימים בשנה החדשה.

vbFirstFullWeek

3

התחל עם השבוע המלא הראשון בשנה.

הערות

באפשרותך להשתמש בפונקציה DateDiff כדי לקבוע כמה מרווחי זמן שצוינו קיימים בין שני תאריכים. לדוגמה, ייתכן שתשתמש ב- DateDiff כדי לחשב את מספר הימים בין שני תאריכים, או את מספר השבועות בין היום לסוף השנה.

כדי לחשב את מספר הימים בין תאריך 1- ו- תאריך2, באפשרותך להשתמש בכל יום בשנה ("y") או day ("d"). כאשר המרווח הוא יום חול ("w"), הפונקציה DateDiff מחזירה את מספר השבועות בין שני התאריכים. אם תאריך 1- נופל ביום שני, DateDiff סופר את מספר ימי שני עד תאריך2. היא סופרת את תאריך2 אך לא את תאריך 1-. אם המרווח הוא שבוע ("ww"), עם זאת, הפונקציה DateDiff מחזירה את מספר השבועות הקלנדריים בין שני התאריכים. הפונקציה סופרת את מספר ימי ראשון בין תאריך 1- ו- תאריך2. DateDiff סופרים את תאריך2 אם הוא חל ביום ראשון; אך היא אינה סופרת את תאריך 1-, גם אם היא מתנפלת ביום ראשון.

אם תאריך 1- מפנה לנקודה מאוחרת יותר בזמן מ- תאריך2, הפונקציה DateDiff מחזירה מספר שלילי.

הארגומנט firstdayofweek משפיע על חישובים המשתמשים בסימני המרווח "w" ו-"ww".

אם תאריך 1- או תאריך2 הוא ליטרל תאריך, השנה שצוינה הופכת לחלק קבוע בתאריך זה. עם זאת, אם תאריך 1- או תאריך2 מוקפים במרכאות כפולות (""), ואתה משמיט את השנה, השנה הנוכחית נוספת לקוד שלך בכל פעם שהביטוי תאריך 1- או תאריך2 מוערך. פעולה זו מאפשרת לכתוב קוד שניתן להשתמש בו בשנים שונות.

בעת השוואה בין 31 בדצמבר ל-1 בינואר של השנה המתבצעת באופן מיידי, DateDiff עבור year ("yyyy") מחזירה 1, אף על פי שחלף יום אחד בלבד.

הערה:  עבור תאריך 1- ו- תאריך2, אם הגדרת המאפיין לוח שנה היא גרגוריאנית, התאריך המסופק חייב להיות גרגוריאני. אם לוח השנה הוא איסלמי, התאריך שסופק חייב להיות איסלמי.

דוגמאות לשאילתות DateDiff

ביטוי

תוצאות

בחר DateDiff ("yyyy", #01/01/2010, [DateofSale]) כExpr1 מ-ProductSales;

פונקציה זו מחזירה את ההפרש בין תאריך2 ו-תאריך 1-(שקול את תאריך 1-כחלק מהישן ביותר וכחלק ממנו כמספר השנים החדשות ביותר). תוצאה: ההפרש בין הערכים בשדה "DateofSale" לבין התאריך "01/01/2010" כמספר ' שנים '.

בחר DateDiff ("q", [DateofSale], Date ()) כDaysSinceSale מ-ProductSales;

הפונקציה מחזירה את ההפרש בין תאריך המערכת ל-"DateofSale" כמספר ' רבעונים ' (בהתבסס על שנת לוח שנה) ומציגה בעמודה "DaysSinceSale". הפונקציה מחזירה את ההפרש בין תאריך המערכת DateofSale "כמספר ' חודשים ' ומוצגת בעמודה" DaysSinceSale ".

בחר DateDiff ("y", [DateofSale], Date ()) כDaysSinceSale מ-ProductSales;

הפונקציה מחזירה את ההפרש בין תאריך המערכת DateofSale "כמספר ' ימים ' ומוצגת בעמודה" DaysSinceSale ".

בחר DateDiff ("d", [DateofSale], Date ()) כDaysSinceSale מ-ProductSales;

הפונקציה מחזירה את ההפרש בין תאריך המערכת DateofSale "כמספר ' ימים ' ומוצגת בעמודה" DaysSinceSale ".

בחר DateDiff ("w", [DateofSale], Date ()) כDaysSinceSale מ-ProductSales;

הפונקציה מחזירה את ההפרש בין תאריך המערכת ל-"DateofSale" כמספר ' ימי חול ' ומוצגת בעמודה "DaysSinceSale". אם "DateofSale" מופעל ביום שני, DateDiff סופר את מספר ימי שני עד לתאריך המערכת. היא סופרת את תאריך המערכת, אך לא את הערך DateofSale ".

בחר DateDiff ("ww", [DateofSale], Date ()) כDaysSinceSale מ-ProductSales;

הפונקציה מחזירה את ההפרש בין תאריך המערכת ל-"DateofSale" כמספר "לוח שבועות" ומוצגת בעמודה "DaysSinceSale". היא מונה את מספר ימי ראשון בין "DateofSale" ו-"date system". היא תכלול את תאריך המערכת אם היא תיפול ביום ראשון; אך היא אינה סופרת "DateofSale", גם אם היא מתנפלת ביום ראשון.

בחר DateDiff ("h", [DateTime], Date ()) כDaysSinceSale מתוך ProductSales;

הפונקציה מחזירה את ההפרש בין תאריך המערכת ל-"DateTime" כמספר השעות והתצוגה בעמודה "DaysSinceSale".

בחר DateDiff ("n", [DateTime], Date ()) כDaysSinceSale מתוך ProductSales;

הפונקציה מחזירה את ההפרש בין תאריך המערכת ל-"DateTime" כמספר הדקות והצגתם בעמודה "DaysSinceSale".

בחר DateDiff ("s", [DateTime], Date ()) כDaysSinceSale מתוך ProductSales;

הפונקציה מחזירה את ההפרש בין תאריך המערכת ל-"DateTime" כמספר השניות ומוצגת בעמודה "DaysSinceSale".

דוגמה לביטוי

שימוש בפונקציה DateDiff בביטוי     באפשרותך להשתמש בפונקציה DateDiff בכל מקום שבו באפשרותך להשתמש בביטויים. לדוגמה, נניח שיש לך טופס שאתה משתמש בו כדי למלא הזמנות של לקוחות. בטבלה Orders, יש לך שדה בשם ReceiveBefore שמכיל את התאריך שבו הלקוח צריך לקבל את ההזמנה. באפשרותך להשתמש בפונקציה DateDiff עם תיבת טקסט בטופס כדי להציג את מספר הימים שנשארו לפני שההזמנה חייבת להישלח.

בהנחה שאורכו עשרה ימים למשלוח כל הזמנה, עליך להגדיר את המאפיין מקור פקד של תיבת הטקסט באופן הבא:

= DateDiff ("d", Now (), [Orders]. [ ReceiveBefore])-10

בעת פתיחת הטופס בתצוגת טופס, תיבת הטקסט מציגה את מספר הימים שנשארו לפני שההזמנה צריכה להישלח. אם נותרו פחות מ-10 ימים לפני שהלקוח צריך לקבל את ההזמנה, המספר בתיבת הטקסט שלילי ומציין את מספר הימים המאוחרים שבהם ההזמנה תהיה אם היא תישלח באופן מיידי.

דוגמה של VBA

שימוש בפונקציה DateDiff בקוד VBA    

דוגמה זו משתמשת בפונקציה DateDiff כדי להציג את מספר הימים בין תאריך נתון לבין היום.

Dim TheDate As Date    ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg

הערה:  דף זה תורגם באמצעות אוטומציה והוא עשוי לכלול שגיאות דקדוק או אי-דיוקים. מטרתנו היא כי תוכן זה יהיה שימושי עבורך. תוכל לספר לנו אם המידע היה מועיל? הנה המאמר באנגלית לעיונך.​

למידע נוסף

בחירת פונקציית התאריך המתאימה

שפר את הכישורים שלך ב- Office
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Office Insider

האם מידע זה היה שימושי?

תודה על המשוב!

תודה על המשוב! נראה שכדאי לקשר אותך לאחד מנציגי התמיכה של Office.

×