שתף באמצעות


הפונקציות DateAdd,‏ DateDiff ו- TimeZoneOffset

פונקציה חל על
הוספת תאריך אפליקציות קנבס Dataverse עמודות נוסחאות זרימות שולחן העבודה אפליקציות מונחות דגמים Power Platform CLI
DateDiff אפליקציות קנבס Dataverse עמודות נוסחאות זרימות שולחן העבודה אפליקציות מונחות דגמים Power Platform CLI
TimeZoneOffset אפליקציות קנבס זרימות שולחן העבודה אפליקציות מונחות דגמים Power Platform CLI

מוצאת את ההפרש בערכי תאריך/שעה או מוסיפה לו ומבצעת המרה בין השעה המקומית ל- UTC.

תיאור

הפונקציה DateAdd‎ מוסיפה מספר יחידות אל ערך תאריך/שעה. התוצאה היא ערך חדש של תאריך/שעה. ניתן גם לחסר מספר יחידות מתוך ערך תאריך/שעה על-ידי ציון ערך שלילי.

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

עבור שתי הפונקציות, היחידות יכולות להיות TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters או TimeUnit.Years. כברירת מחדל, שתי הפונקציות משתמשות ב- TimeUnit.Days‎ בתור יחידות.

הפונקציה TimeZoneOffset מחזירה את מספר הדקות בין השעה המקומית של המשתמש לבין UTC (זמן אוניברסלי מתואם).

ניתן להשתמש בפונקציה DateAdd‎ עם הפונקציה TimeZoneOffset כדי לבצע המרה בין השעה המקומית של המשתמש לבין UTC (זמן אוניברסלי מתואם). הוספת הפונקציה TimeZoneOffset תבצע המרה מהשעה המקומית ל- UTC, וחיסורה (הוספת ערך שלילי) תבצע המרה מ- UTC לשעה המקומית.

ראה גם סוגי הנתונים 'תאריך', 'שעה' ו'תאריך ושעה' ועבודה עם תאריכים ושעות לקבלת מידע נוסף.

תחביר

DateAdd( DateTime, הוספה [, יחידות ] )

  • DateTime - חובה. ערך תאריך/שעה שעליו מתבצעת הפעולה.
  • תוספת - חובה. המספר, ב- Units‎, שיש להוסיף ל- DateTime‎.
  • יחידות - אופציונלי. סוג היחידות להוספה: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters או TimeUnit.Years. אם לא צוין סוג, נעשה שימוש ב- TimeUnit.Days‎.

DateDiff( StartDateTime, EndDateTime [, יחידות ] )

  • StartDateTime - חובה. ערך תאריך/שעה של ההתחלה.
  • EndDateTime - חובה. ערך תאריך/שעה של הסיום.
  • יחידות - אופציונלי. סוג היחידות להחסיר: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters או TimeUnit.Years. אם לא צוין סוג, נעשה שימוש ב- TimeUnit.Days‎.

TimeZoneOffset( [ DateTime ] )

  • DateTime - אופציונלי. ערך תאריך/שעה שעבורו יש להחזיר את ההיסט. כברירת מחדל, נעשה שימוש בתאריך/שעה הנוכחיים.

דוגמאות

בכל הדוגמאות הללו, נניח שהתאריך והשעה הנוכחיים הם 15 ביולי 2013, 13:02.

נוסחת DateAdd פשוטה

נוסחה תיאור תוצאה
Text( DateAdd( Now(), 3 ),
"dd-mm-yyyy hh:mm" )
מוסיפה שלושה ימים (יחידות ברירת המחדל) לתאריך והשעה הנוכחיים. "18-07-2013 13:02"
Text( DateAdd( Now(), 4, TimeUnit.Hours ),
"dd-mm-yyyy hh:mm" )
מוסיפה ארבע שעות לתאריך והשעה הנוכחיים. "15-07-2013 17:02"
Text( DateAdd( Today(), 1, TimeUnit.Months),
"dd-mm-yyyy hh:mm" )
הוספת חודש אחד לתאריך הנוכחי, ללא שעה, מכיוון ש- Today‎ אינו מחזיר רכיב שעה. "15-08-2013 00:00"
Text( DateAdd( Now(), ‑30, TimeUnit.Minutes ),
"dd-mm-yyyy hh:mm" )
מחסירה 30 דקות מהתאריך והשעה הנוכחיים. "15-07-2013 12:32"

נוסחת DateDiff פשוטה

נוסחה תיאור תוצאה
DateDiff( Now(), DateValue("1/1/2014") ) מחזירה את ההפרש בין שתי היחידות ביחידות ברירת המחדל, שהן TimeUnit.Days‎ 170
DateDiff( Now(), DateValue("1/1/2014"), TimeUnit.Months ) מחזירה את ההפרש בין שני הערכים ב- TimeUnit.Months‎ 6
DateDiff( Now(), Today(), TimeUnit.Minutes ) מחזירה את ההפרש בין התאריך/שעה הנוכחיים לתאריך הנוכחי בלבד (ללא שעה), בדקות. מכיוון ש- Now מאוחר יותר מ- Today, התוצאה תהיה שלילית. ‎-782

הפרש תאריכים עם תוצאות שבר

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

נוסחה תיאור תוצאה
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Hours ) המערכת מתעלמת מהדקות/שניות, ההפרש מבוסס על הזמן עד לשעה. 1
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Minutes )/60 הדקות נמצאות בשימוש בהפרש, והתוצאה מחולקת ב- 60 כדי שההפרש יהיה בשעות. 0.5
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Seconds )/3600 הדקות והשניות נמצאות בשימוש בהפרש; התוצאה מחולקת ב- 3600 כדי שההפרש יהיה בשעות. 0.51

המרה ל- UTC

כדי לבצע המרה ל- UTC (זמן אוניברסלי מתואם), הוסף את הפונקציה TimeZoneOffset לשעה הנתונה.

לדוגמה, נניח שהתאריך והשעה הנוכחיים הם 15 ביולי 2013, 13:02 בשעון קיץ החוף המערבי (PDT,‏ UTC-7). כדי לקבוע את השעה הנוכחית ב- UTC, השתמש בנוסחה הבאה:

  • DateAdd( Now(), TimeZoneOffset(), TimeUnit.Minutes )

TimeZoneOffset ברירת המחדל לשעה הנוכחית, כך שאינך צריך להעביר לו ארגומנט.

כדי להציג את התוצאה, השתמש בפונקציה Text‎ עם התבנית dd-mm-yyyy hh:mm, אשר תחזיר 15-07-2013 20:02.

המרה מ- UTC

כדי לבצע המרה מ- UTC, חסר את TimeZoneOffset (על-ידי הוספת ערך שלילי) עבור השעה הנתונה.

לדוגמה, נניח שהתאריך והשעה בשעון UTC, 15 ביולי 2013, 20:02, מאוחסנים במשתנה בשם StartTime‎. כדי להתאים את השעה לאזור הזמן של המשתמש, השתמש בנוסחה הבאה:

  • DateAdd( StartTime, −TimeZoneOffset( StartTime), TimeUnit.Minutes )

שים לב שיש להשתמש בסימן החיסור לפני TimeZoneOffset כדי להחסיר את ההיסט, ולא להוסיף אותו.

כדי להציג את התוצאה, השתמש בפונקציה Text עם התבנית dd-mm-yyyy hh:mm, אשר תחזיר את 15-07-2013 13:02 אם אתה נמצא בשעון קיץ החוף המערבי.