Salesforce Apex – formát dátumu

Salesforce Apex Format Datumu



Sledovanie podrobností o zákazníkoch v účtoch/kontaktoch je veľmi dôležité pri riadení vzťahov so zákazníkmi (CRM). Na základe dátumu prebiehajú všetky procesy, ako je nákup, cenová ponuka a servis. Pozrime sa, ako vytvoriť dátum z reťazca v Salesforce a previesť dátum na reťazec. V rámci tohto tutoriálu tiež uvidíme metódy, ktoré sa používajú pri naformátovanom dátume, ako je pridávanie dní, rokov, mesiacov atď., s príkladmi.

Trieda Apex Date

Trieda dátumu podporuje všetky metódy dátumu, ktoré sú primitívne. Používa menný priestor „System“. Na konverziu reťazca do formátu dátumu môžeme použiť metódu valueOf() z tejto triedy. Po naformátovaní dátumu použijeme niektoré metódy na pridanie dní, mesiacov, rokov atď. k tomuto naformátovanému dátumu pomocou niektorých metód, ktoré sú tiež dostupné v tejto triede dátumu.







Najprv uvidíme, ako previesť reťazec na dátum pomocou metódy valueOf() v Salesforce Apex.



Date.valueOf()

Hodnota valueOf() v Apex je dostupná v triede „Date“, ktorá berie reťazec ako argument, ktorý prevádza zadaný reťazec do formátu dátumu. Vstupný reťazec (parameter) obsahuje tri atribúty – rok, mesiac a deň. Všetky tieto tri sa kombinujú/spájajú a prechádzajú do metódy.



Syntax: ValueOf()

Ako už bolo spomenuté, musíme deklarovať premennú triedy „Date“ a odovzdať jej reťazec.





Date date_variable= date.valueOf(string_date_format);

Príklad:

Krok 1:

Majme reťazec, ktorý obsahuje „rok-mesiac-deň“.

// Deklarujte rok, mesiac a deň jeden po druhom

String Year = '2023';

Mesiac reťazca = '4';

String Day = '5';

// Spojte ich všetky do reťazca

String string_type = Rok + '-' + Mesiac + '-' + Deň;

system.debug(typ_retazca);

Výkon:



Krok 2:

Teraz preveďte predchádzajúci reťazec „Date“ na „Date“ pomocou metódy valueOf() z triedy Apex „Date“.

// Konverzia string-Date na Date

Date convert_date = date.valueOf(string_type);

system.debug(converted_date);

Výkon:

Vidíme, že po konverzii na „Dátum“ automaticky vráti dátum vo formáte DateTime. Neberie do úvahy čas (hodiny:minúty:sekundy), aj keď ich prenesiete do metódy valueOf(). Vrátený formát je RRRR-MM-DD HH:MM:SS.

Preveďte dátum na reťazec

Existujú dva spôsoby, ako previesť „Dátum“ na „Reťazec“. Jedným zo spôsobov, ktorý Apex podporuje, je použitie metódy format(). Druhým spôsobom je manuálne extrahovanie atribútov „Dátum“ (rok, mesiac a deň) a ich zreťazenie do reťazca. Pozrime sa na ne jeden po druhom.

1. Format()

Metóda format() je dostupná v triede „Date“ v Apex, ktorá konvertuje „Date“ na reťazec vo formáte „M/D/YYYY“. Tejto metóde môžeme tiež odovzdať zadaný formát ako parameter. Zadaný formát je predvolený formát.

Syntax:

input_date.format(“format_type”)

Príklad:

Zoberme si predchádzajúci príklad a pomocou metódy format() skonvertujeme späť „Dátum“ na „String“. Metóde format() neposkytujeme žiadny konkrétny formát.

// Deklarujte rok, mesiac a deň jeden po druhom

String Year = '2023';

Mesiac reťazca = '4';

String Day = '5';

// Spojte ich všetky do reťazca

String string_type = Rok + '-' + Mesiac + '-' + Deň;

// Konverzia string-Date na Date

Date convert_date = date.valueOf(string_type);

system.debug(converted_date);

// format()

system.debug(converted_date.format());

Výkon:

2. Použitie metódy triedy dátumu

V tomto scenári extrahujeme rok, mesiac a deň oddelene od „Dátumu“ pomocou dostupných metód v triede Apex „Dátum“. Ďalej tieto tri zreťazíme, aby sme vrátili „Dátum“ vo formáte „String“.

  1. deň () – Táto metóda sa používa na extrakciu dátumu z „Dátumu“. Vráti celé číslo, ktoré určuje dátum.
  2. mesiac() – Táto metóda sa používa na extrakciu mesiaca z „Dátumu“. Vráti celé číslo, ktoré určuje číslo mesiaca. Môžeme označovať január ako 1, február ako 2…. decembra ako 12.
  3. rok() – Táto metóda sa používa na extrakciu roku z „Dátumu“. Vracia rok v štvorcifernom formáte.

Syntax:

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

Príklad:

Preveďte späť „Dátum“ na „Reťazec“ vo formáte „RRRR-M-D“.

// Deklarujte rok, mesiac a deň jeden po druhom

String Year = '2023';

Mesiac reťazca = '4';

String Day = '5';

// Spojte ich všetky do reťazca

String string_type = Rok + '-' + Mesiac + '-' + Deň;

// Konverzia string-Date na Date

Date convert_date = date.valueOf(string_type);

system.debug(converted_date);

// Konvertovať dátum na reťazec

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

Výkon:

Praktické príklady:

Pozrime sa, ako aktualizovať „Dátum“, napríklad pridať dni, roky a mesiace k existujúcemu dátumu v objektoch Salesforce. Všetky tri metódy berú ako argument celé číslo „n“.

1. addDays()

Ak chcete pridať dni k existujúcemu dátumu, Apex podporuje metódu addDays(), ktorá je dostupná v triede „Date“.

2. addMonths()

Ak chcete pridať mesiace k existujúcemu dátumu, Apex podporuje metódu addMonths(), ktorá je dostupná v triede „Date“.

3. addYears()

Ak chcete pridať roky k existujúcemu dátumu, Apex podporuje metódu addYears(), ktorá je dostupná v triede „Dátum“.

Syntax:

Pozrime sa na syntax týchto troch metód. Tu „n“ predstavuje celočíselnú hodnotu.

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

Predtým, ako prejdete na príklad, zvážte nasledujúce:

  1. Prihláste sa do Salesforce a prejdite na „Spúšťač aplikácií“ a na karte vyhľadajte „Kampaň“. Tu vložíme „Názov kampane“ a „Dátum ukončenia“.

  1. Vyberte „Kampane“ a kliknite na „Nové“.

  1. Zobrazí sa kontextové okno na vloženie údajov do kampane. Pridajte „Linux Hint Posts“ pod „Campaign Name“ a nastavte „End Date“ na 4/5/2023. Potom kliknite na „Uložiť“.

So záznamom sme pripravení. (Typ – Konferencia a Stav – Plánované príde automaticky. Nechajte tak). Otvorme anonymné okno v konzole pre vývojárov.

Príklad 1:

Použime metódu addDays() na pridanie 10 dní k existujúcemu dátumu „End Date“ v objekte „Campaign“.

  1. Aby sme to dosiahli, musíme najprv použiť dotaz SOQL na získanie záznamu z objektu „Campaign“ a uložiť tento záznam do objektu „List“.
  2. Ďalej použijeme cyklus „for“ na iteráciu zoznamu a metódu addDays() na pridanie 10 dní k „Dátumu ukončenia“.
  3. Nakoniec použijeme príkaz „update DML“ na aktualizáciu „Dátumu ukončenia“ v objekte „Campaign“.
// Vráti názov a dátum ukončenia z kampane pomocou SOQL

Zoznam dotaz1 = [VYBERTE Názov,Dátum ukončenia FROM Campaign WHERE Názov = 'Linux Hint Posts'];

// Pridajte 10 dní do EndDate pomocou metódy addDays().

for(Campaign i: query1){

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

}

// Na aktualizáciu EndDate použite update DML

aktualizovať dotaz1;

system.debug(dotaz1);

Výkon:

Predchádzajúci „Dátum ukončenia“ je 5. apríl. Po pridaní 10 dní je „Dátum ukončenia“ teraz 15. apríl.

Môžeme to skontrolovať aj na karte „Kampaň“. Prejdite späť a obnovte stránku. Môžete vidieť, že „Dátum ukončenia“ je aktualizovaný.

Príklad 2:

Použime metódu addMonths() na pridanie 3 mesiacov k existujúcemu „Dátumu ukončenia“.

// Vráti názov a dátum ukončenia z kampane pomocou SOQL

Zoznam dotaz1 = [VYBERTE Názov,Dátum ukončenia FROM Campaign WHERE Názov = 'Linux Hint Posts'];

system.debug('Aktuálne: '+dotaz1);

// Pridajte 3 mesiace do EndDate pomocou metódy addMonths().

for(Campaign i: query1){

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

}

// Na aktualizáciu EndDate použite update DML

aktualizovať dotaz1;

system.debug('Aktualizované: '+dotaz1);

Výkon:

Predchádzajúci mesiac v „Dátume ukončenia“ je apríl. Po pridaní 3 mesiacov je teraz júl.

Príklad 3:

Použime metódu addYears() na pridanie 3 rokov k existujúcemu „Dátumu ukončenia“.

// Vráti názov a dátum ukončenia z kampane pomocou SOQL

Zoznam dotaz1 = [VYBERTE Názov,Dátum ukončenia FROM Campaign WHERE Názov = 'Linux Hint Posts'];

system.debug('Aktuálne: '+dotaz1);

// Pridajte 3 roky k EndDate pomocou metódy addYears().

for(Campaign i: query1){

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

}

// Na aktualizáciu EndDate použite update DML

aktualizovať dotaz1;

system.debug('Aktualizované: '+dotaz1);

Výkon:

Po pridaní 3 rokov k „Dátumu ukončenia“ je aktualizovaný rok 2026.

Záver

Formátovanie dátumu v Salesforce Apex je celkom jednoduché. V rámci tohto tutoriálu sme sa naučili, ako previesť „Dátum“ z formátu „String“ na „Dátum“ pomocou metódy valueOf(), ktorá je dostupná v triede Apex „Dátum“. Ak chcete previesť späť dátum na reťazec, použijeme atribúty format() a dátumu ako day(), month() a year(). Nakoniec sme túto príručku ukončili diskusiou o operácii DML na objekte „Campaign“ Salesforce na aktualizáciu „Dátumu ukončenia“ pomocou metód addDays(), addMonths() a addYears() so samostatnými príkladmi.