הפונקציות 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 אם אתה נמצא בשעון קיץ החוף המערבי.