Salesforce Apex – formát data

Salesforce Apex Format Data



Sledování podrobností o zákaznících v účtech/kontaktech je velmi důležité při řízení vztahů se zákazníky (CRM). Na základě data probíhají všechny procesy, jako je nákup, nabídka a servis. Podívejme se, jak vytvořit datum z řetězce v Salesforce a převést datum na řetězec. V rámci tohoto tutoriálu také uvidíme metody, které se aplikují na formátované datum, jako je přidání dnů, let, měsíců atd., s příklady.

Třída Apex Date

Třída Date podporuje všechny metody data, které jsou primitivní. Používá jmenný prostor „System“. K převodu řetězce do formátu data můžeme použít metodu valueOf() z této třídy. Po formátování data použijeme některé metody pro přidání dnů, měsíců, let atd. k tomuto formátovanému datu pomocí některých metod, které jsou také dostupné v této třídě data.







Nejprve uvidíme, jak převést řetězec na datum pomocí metody valueOf() v Salesforce Apex.



Date.valueOf()

Hodnota valueOf() v Apex je dostupná ve třídě „Date“, která bere řetězec jako argument, který převádí zadaný řetězec do formátu data. Vstupní řetězec (parametr) obsahuje tři atributy – rok, měsíc a den. Všechny tyto tři jsou spojeny/zřetězeny a předány metodě.



Syntaxe: ValueOf()

Jak již bylo zmíněno, musíme deklarovat proměnnou třídy „Date“ a předat jí řetězec.





Datum datum_proměnná= datum.hodnotaOf(formát_data_řetězce);

Příklad:

Krok 1:

Mějme řetězec, který obsahuje „rok-měsíc-den“.

// Deklarujte rok, měsíc a den jeden po druhém

String Year = '2023';

Měsíc řetězce = '4';

String Day = '5';

// Zřetězit je všechny do řetězce

Řetězec string_type = Rok + '-' + Měsíc + '-' + Den;

system.debug(typ_řetězce);

Výstup:



Krok 2:

Nyní převeďte předchozí řetězec „Date“ na „Date“ pomocí metody valueOf() z třídy Apex „Date“.

// Převod string-Date na datum

Date convert_date = date.valueOf(string_type);

system.debug(converted_date);

Výstup:

Vidíme, že po převodu na „Datum“ automaticky vrátí datum ve formátu DateTime. Nebude brát v úvahu čas (hodiny:minuty:sekundy), i když je předáte metodě valueOf(). Vrácený formát je RRRR-MM-DD HH:MM:SS.

Převeďte datum na řetězec

Existují dva způsoby, jak převést „Datum“ na „Řetězec“. Jedním ze způsobů, který Apex podporuje, je použití metody format(). Druhým způsobem je ruční extrahování atributů „Datum“ (rok, měsíc a den) a jejich zřetězení do řetězce. Podívejme se na ně jeden po druhém.

1. Formát()

Metoda format() je dostupná ve třídě „Date“ v Apexu, která převádí „Date“ na řetězec ve formátu „M/D/YYYY“. Této metodě můžeme také předat zadaný formát jako parametr. Zadaný formát je výchozí formát.

Syntax:

input_date.format(“format_type”)

Příklad:

Podívejme se na předchozí příklad a převeďte zpět „Datum“ na „String“ pomocí metody format(). Metodě format() neposkytujeme žádný konkrétní formát.

// Deklarujte rok, měsíc a den jeden po druhém

String Year = '2023';

Měsíc řetězce = '4';

String Day = '5';

// Zřetězit je všechny do řetězce

Řetězec string_type = Rok + '-' + Měsíc + '-' + Den;

// Převod string-Date na datum

Date convert_date = date.valueOf(string_type);

system.debug(converted_date);

// formát()

system.debug(converted_date.format());

Výstup:

2. Použití metody třídy data

V tomto scénáři extrahujeme rok, měsíc a den odděleně od „Datum“ pomocí dostupných metod ve třídě Apex „Datum“. Dále tyto tři spojíme, abychom vrátili „Datum“ ve formátu „String“.

  1. den() – Tato metoda se používá k extrakci data z „Datum“. Vrátí celé číslo, které určuje datum.
  2. Měsíc() – Tato metoda se používá k extrakci měsíce z „Datum“. Vrátí celé číslo, které určuje číslo měsíce. Můžeme označovat leden jako 1, únor jako 2…. prosince jako 12.
  3. rok() – Tato metoda se používá k extrakci roku z „Datum“. Vrací rok ve čtyřmístném formátu.

Syntax:

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

Příklad:

Převeďte zpět „Datum“ na „Řetězec“ ve formátu „RRRR-M-D“.

// Deklarujte rok, měsíc a den jeden po druhém

String Year = '2023';

Měsíc řetězce = '4';

String Day = '5';

// Zřetězit je všechny do řetězce

Řetězec string_type = Rok + '-' + Měsíc + '-' + Den;

// Převod string-Date na datum

Date convert_date = date.valueOf(string_type);

system.debug(converted_date);

// Převést datum na řetězec

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

Výstup:

Praktické příklady:

Podívejme se, jak aktualizovat „Datum“, jako je přidání dnů, let a měsíců k existujícímu datu v objektech Salesforce. Všechny tři metody berou jako argument celé číslo „n“.

1. addDays()

Chcete-li přidat dny k existujícímu datu, Apex podporuje metodu addDays(), která je dostupná ve třídě „Date“.

2. addMonths()

Chcete-li přidat měsíce k existujícímu datu, Apex podporuje metodu addMonths(), která je dostupná ve třídě „Date“.

3. addYears()

Chcete-li přidat roky k existujícímu datu, Apex podporuje metodu addYears(), která je dostupná ve třídě „Date“.

Syntax:

Podívejme se na syntaxi těchto tří metod. Zde „n“ určuje celočíselnou hodnotu.

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

Než přejdete na příklad, zvažte následující:

  1. Přihlaste se do Salesforce a přejděte na „Spouštěč aplikací“ a na kartě vyhledejte „Kampaň“. Zde vložíme „Název kampaně“ a „Datum ukončení“.

  1. Vyberte „Kampaně“ a klikněte na „Nový“.

  1. Zobrazí se vyskakovací okno pro vložení dat do kampaně. Přidejte „Linux Hint Posts“ pod „Campaign Name“ a nastavte „End Date“ na 4/5/2023. Poté klikněte na „Uložit“.

Se záznamem jsme připraveni. (Typ – Konference a Stav – Plánováno přijde automaticky. Nechte toho). Otevřeme anonymní okno ve vývojářské konzoli.

Příklad 1:

Použijme metodu addDays() k přidání 10 dnů k existujícímu „Datum ukončení“ v objektu „Kampaň“.

  1. K tomu musíme nejprve použít dotaz SOQL k získání záznamu z objektu „Campaign“ a uložení tohoto záznamu do objektu „List“.
  2. Dále použijeme smyčku „for“ k iteraci seznamu a pomocí metody addDays() přidáme 10 dní k „Datum ukončení“.
  3. Nakonec použijeme příkaz „update DML“ k aktualizaci „Datum ukončení“ v objektu „Kampaň“.
// Návrat Název a Datum ukončení z kampaně pomocí SOQL

Seznam dotaz1 = [VYBRAT Název,Datum ukončení FROM Campaign WHERE Název = 'Příspěvky nápovědy pro Linux'];

// Přidání 10 dnů do EndDate pomocí metody addDays().

for(Campaign i: query1){

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

}

// K aktualizaci EndDate použijte update DML

aktualizovat dotaz1;

system.debug(dotaz1);

Výstup:

Předchozí „Datum ukončení“ je 5. dubna. Po přidání 10 dnů k tomu je „Datum ukončení“ nyní 15. dubna.

Můžeme se také podívat na kartu „Kampaň“. Přejděte zpět a obnovte stránku. Můžete vidět, že „Datum ukončení“ je aktualizováno.

Příklad 2:

Použijme metodu addMonths() k přidání 3 měsíců ke stávajícímu „Datum ukončení“.

// Návrat Název a Datum ukončení z kampaně pomocí SOQL

Seznam dotaz1 = [VYBRAT Název,Datum ukončení FROM Campaign WHERE Název = 'Příspěvky nápovědy pro Linux'];

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

// Přidejte 3 měsíce k EndDate pomocí metody addMonths().

for(Campaign i: query1){

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

}

// K aktualizaci EndDate použijte update DML

aktualizovat dotaz1;

system.debug('Aktualizováno: '+dotaz1);

Výstup:

Předchozí měsíc v „datu ukončení“ je duben. Po přidání 3 měsíců je nyní červenec.

Příklad 3:

Použijme metodu addYears() k přidání 3 let ke stávajícímu „datu ukončení“.

// Návrat Název a Datum ukončení z kampaně pomocí SOQL

Seznam dotaz1 = [VYBRAT Název,Datum ukončení FROM Campaign WHERE Název = 'Příspěvky nápovědy pro Linux'];

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

// Přidejte 3 roky k EndDate pomocí metody addYears().

for(Campaign i: query1){

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

}

// K aktualizaci EndDate použijte update DML

aktualizovat dotaz1;

system.debug('Aktualizováno: '+dotaz1);

Výstup:

Po přidání 3 let k „Datum ukončení“ je aktualizovaný rok 2026.

Závěr

Formátování data v Salesforce Apex je docela jednoduché. V rámci tohoto tutoriálu jsme se naučili, jak převést „Datum“ z formátu „String“ na „Datum“ pomocí metody valueOf(), která je dostupná ve třídě „Datum“ Apex. Pokud chcete převést zpět datum na řetězec, použijeme atributy format() a datum jako day(), month() a year(). Nakonec jsme tuto příručku zakončili diskusí o operaci DML na objektu Salesforce „Campaign“ za účelem aktualizace „Datum ukončení“ pomocí metod addDays(), addMonths() a addYears() se samostatnými příklady.