Salesforce Apex - פורמט תאריך

Salesforce Apex Pwrmt T Ryk



מעקב אחר פרטי הלקוחות בחשבונות/אנשי קשר חשוב מאוד בניהול קשרי לקוחות (CRM). בהתבסס על התאריך, כל התהליכים כמו רכישה, הצעת מחיר ושירות מתרחשים. בואו נסתכל כיצד ליצור את התאריך ממחרוזת ב-Salesforce ולהמיר את התאריך למחרוזת. כחלק ממדריך זה, נראה גם את השיטות המיושמות בתאריך המעוצב כמו הוספת ימים, שנים, חודשים וכו', עם דוגמאות.

שיעור תאריך איפקס

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







ראשית, נראה כיצד להמיר את המחרוזת לתאריך באמצעות שיטת valueOf() ב-Salesforce Apex.



Date.valueOf()

ה-valueOf() ב- Apex זמין במחלקה 'Date' אשר לוקחת את המחרוזת כארגומנט הממיר את המחרוזת שצוינה לתבנית התאריך. מחרוזת הקלט (פרמטר) כוללת שלוש תכונות - שנה, חודש ויום. כל השלושה הללו משולבים/משורשרים ומועברים לשיטה.



תחביר: ValueOf()

כפי שכבר צוין, עלינו להכריז על משתנה של המחלקה 'Date' ולהעביר אליו את המחרוזת.





Date date_variable= date.valueOf(string_date_format);

דוגמא:

שלב 1:

בוא נעשה מחרוזת שמחזיקה את 'שנה-חודש-יום'.

// הכריזו על שנה, חודש ויום אחד אחד

שנה מחרוזת = '2023';

מחרוזת חודש = '4';

מחרוזת יום = '5';

// שרשרת את כולם למחרוזת

String string_type = שנה + '-' + חודש + '-' + יום;

system.debug(string_type);

תְפוּקָה:



שלב 2:

כעת, המר את המחרוזת 'Date' הקודמת ל-'Date' באמצעות שיטת valueOf() מהמחלקה Apex 'Date'.

// המר מחרוזת-תאריך לתאריך

Date converted_date = date.valueOf(string_type);

system.debug(converted_date);

תְפוּקָה:

אנו יכולים לראות שלאחר המרה ל'תאריך', הוא מחזיר אוטומטית את התאריך בפורמט DateTime. זה לא ישקול את הזמן (שעות:דקות:שניות) גם אם תעביר אותם לשיטת valueOf(). הפורמט המוחזר הוא YYYY-MM-DD HH:MM:SS.

המר את התאריך למחרוזת

ישנן שתי דרכים להמיר את ה'תאריך' ל'מחרוזת'. דרך אחת הנתמכת על ידי Apex היא שימוש בשיטת format() . הדרך השניה היא חילוץ ידני של תכונות 'תאריך' (שנה, חודש ויום) ושרשורן למחרוזת. בואו נסתכל עליהם אחד אחד.

1. פורמט()

שיטת format() זמינה במחלקה 'Date' ב- Apex אשר ממירה את 'Date' למחרוזת בפורמט 'M/D/YYYY'. אנו יכולים גם להעביר את הפורמט שצוין כפרמטר לשיטה זו. הפורמט שצוין הוא פורמט ברירת המחדל.

תחביר:

input_date.format('format_type')

דוגמא:

הבה נשקול את הדוגמה הקודמת ונמיר בחזרה את ה'תאריך' ל'מחרוזת' בשיטת format() . אנחנו לא מספקים שום פורמט ספציפי לשיטת format().

// הכריזו על שנה, חודש ויום אחד אחד

שנה מחרוזת = '2023';

מחרוזת חודש = '4';

מחרוזת יום = '5';

// שרשרת את כולם למחרוזת

String string_type = שנה + '-' + חודש + '-' + יום;

// המר מחרוזת-תאריך לתאריך

Date converted_date = date.valueOf(string_type);

system.debug(converted_date);

// פורמט()

system.debug(converted_date.format());

תְפוּקָה:

2. שימוש בשיטת Date Class

בתרחיש זה, אנו מחלצים את השנה, החודש והיום בנפרד מה'תאריך' באמצעות השיטות הזמינות במחלקת Apex 'Date'. לאחר מכן, אנו משרשרים את שלושת אלה כדי להחזיר את ה'תאריך' בפורמט 'מחרוזת'.

  1. יְוֹם() – שיטה זו משמשת לחילוץ התאריך מה'תאריך'. הוא מחזיר את המספר השלם שמציין את התאריך.
  2. חוֹדֶשׁ() – שיטה זו משמשת לחילוץ החודש מה'תאריך'. הוא מחזיר את המספר השלם שמציין את מספר החודש. אנו יכולים להתייחס לינואר כ-1, לפברואר כ-2... בדצמבר כ-12.
  3. שָׁנָה() – שיטה זו משמשת לחילוץ השנה מה'תאריך'. הוא מחזיר את השנה בפורמט של ארבע ספרות.

תחביר:

input_date.year() + '-' + input_date.month() + '-' + input_date.day()

דוגמא:

המר בחזרה את 'תאריך' ל'מחרוזת' בפורמט 'YYYY-M-D'.

// הכריזו על שנה, חודש ויום אחד אחד

שנה מחרוזת = '2023';

מחרוזת חודש = '4';

מחרוזת יום = '5';

// שרשרת את כולם למחרוזת

String string_type = שנה + '-' + חודש + '-' + יום;

// המר מחרוזת-תאריך לתאריך

Date converted_date = date.valueOf(string_type);

system.debug(converted_date);

// המרת תאריך למחרוזת

system.debug(converted_date.year() + '-' + converted_date.month() + '-' + converted_date.day());

תְפוּקָה:

דוגמאות מעשיות:

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

1. addDays()

כדי להוסיף ימים לתאריך הקיים, Apex תומך בשיטת addDays() הזמינה במחלקה 'Date'.

2. addMonths()

כדי להוסיף חודשים לתאריך הקיים, Apex תומך בשיטת addMonths() הזמינה במחלקה 'Date'.

3. addYears()

כדי להוסיף שנים לתאריך הקיים, Apex תומך בשיטת addYears() הזמינה במחלקה 'Date'.

תחביר:

בואו נסתכל על התחביר של שלוש השיטות הללו. כאן, 'n' מפרט את הערך השלם.

  • input_Date.addDays(n)
  • input_Date.addMonths(n)
  • input_Date.addYears(n)

לפני שאתה הולך לדוגמא, שקול את הדברים הבאים:

  1. היכנס ל-Salesforce ועבור אל 'מפעיל האפליקציות' וחפש את 'מסע פרסום' בכרטיסייה. כאן, אנו מכניסים את 'שם הקמפיין' ואת 'תאריך הסיום'.

  1. בחר 'קמפיינים' ולחץ על 'חדש'.

  1. מופיע חלון קופץ כדי להכניס את הנתונים למסע הפרסום. הוסף 'פוסטים של רמזים ללינוקס' תחת 'שם מסע הפרסום' והגדר את 'תאריך הסיום' כ-4/5/2023. לאחר מכן, לחץ על 'שמור'.

אנחנו מוכנים עם התקליט. (סוג - ועידה וסטטוס - מתוכנן יגיע אוטומטית. עזוב את זה). בואו נפתח את החלון האנונימי במסוף המפתחים.

דוגמה 1:

בואו נשתמש בשיטת addDays() כדי להוסיף 10 ימים ל'תאריך סיום' הקיים באובייקט 'מסע פרסום'.

  1. לשם כך, ראשית עלינו להשתמש בשאילתת SOQL כדי לקבל את הרשומה מהאובייקט 'Campaign' ולאחסן את הרשומה הזו באובייקט 'List'.
  2. לאחר מכן, אנו משתמשים בלולאת 'for' כדי לחזור על הרשימה ומשתמשים בשיטת addDays() כדי להוסיף 10 ימים ל'תאריך הסיום'.
  3. לבסוף, אנו משתמשים בהצהרת 'עדכון DML' כדי לעדכן את 'תאריך סיום' באובייקט 'מסע פרסום'.
// החזר שם ותאריך סיום מהמסע פרסום באמצעות SOQL

List query1 = [SELECT Name,EndDate FROM Campaign WHERE Name = 'Linux Hint Posts'];

// הוסף 10 ימים ל- EndDate באמצעות שיטת addDays()

for(Campaign i: query1){

i.EndDate = i.EndDate.addDays(10);

}

// השתמש בעדכון DML כדי לעדכן את תאריך הסיום

עדכון שאילתה1;

system.debug(query1);

תְפוּקָה:

'תאריך הסיום' הקודם הוא 5 באפריל. לאחר הוספת 10 ימים אליו, 'תאריך הסיום' הוא כעת 15 באפריל.

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

דוגמה 2:

בואו נשתמש בשיטת addMonths() כדי להוסיף 3 חודשים ל'תאריך הסיום' הקיים.

// החזר שם ותאריך סיום מהמסע פרסום באמצעות SOQL

List query1 = [SELECT Name,EndDate FROM Campaign WHERE Name = 'Linux Hint Posts'];

system.debug('Actual: '+query1);

// הוסף 3 חודשים ל- EndDate באמצעות שיטת addMonths()

for(Campaign i: query1){

i.EndDate = i.EndDate.addMonths(3);

}

// השתמש בעדכון DML כדי לעדכן את תאריך הסיום

עדכון שאילתה1;

system.debug('Updated: '+query1);

תְפוּקָה:

החודש הקודם ב'תאריך הסיום' הוא אפריל. לאחר הוספת 3 חודשים, עכשיו יולי.

דוגמה 3:

בואו נשתמש בשיטת addYears() כדי להוסיף 3 שנים ל'תאריך הסיום' הקיים.

// החזר שם ותאריך סיום מהמסע פרסום באמצעות SOQL

List query1 = [SELECT Name,EndDate FROM Campaign WHERE Name = 'Linux Hint Posts'];

system.debug('Actual: '+query1);

// הוסף 3 שנים ל- EndDate באמצעות שיטת addYears()

for(Campaign i: query1){

i.EndDate = i.EndDate.addYears(3);

}

// השתמש בעדכון DML כדי לעדכן את תאריך הסיום

עדכון שאילתה1;

system.debug('Updated: '+query1);

תְפוּקָה:

לאחר הוספת 3 שנים ל'תאריך הסיום', השנה המעודכנת היא 2026.

סיכום

עיצוב התאריך ב-Salesforce Apex הוא די פשוט. כחלק ממדריך זה, למדנו כיצד להמיר את ה-'Date' מפורמט 'String' ל-'Date' באמצעות שיטת valueOf() הזמינה ב- Apex 'Date' Class. אם ברצונך להמיר בחזרה את התאריך למחרוזת, אנו משתמשים במאפיינים format() ותאריך כמו day(), month() ו-year(). לבסוף, סיימנו את המדריך הזה על ידי דיון בפעולת DML באובייקט 'מסע פרסום' של Salesforce כדי לעדכן את 'תאריך סיום' באמצעות שיטות addDays(), addMonths() ו-addYears() עם דוגמאות נפרדות.