Salesforce Apex - Datoformat

Salesforce Apex - Datoformat

Å spore detaljene til kunder i kontoer/kontakter er veldig viktig i kundeforholdsstyring (CRM). Basert på datoen skjer alle prosessene som kjøp, sitering og service. La oss se på hvordan du oppretter datoen fra streng i Salesforce og konverterer datoen til streng. Som en del av denne opplæringen vil vi også se metodene som brukes på den formaterte datoen som å legge til dager, år, måneder osv., med eksempler.

Apex dataklasse

Dataklasse støtter alle datametoder som er primitive. Den bruker "system" navneområdet. Vi kan bruke ValueOf () -metoden fra denne klassen for å konvertere strengen til et datoformat. Etter formating av datoen bruker vi noen metoder for å legge til dagene, månedene, årene, ECT., Til denne formaterte datoen ved hjelp av noen metoder som også er tilgjengelige i denne dataklassen.

Først vil vi se hvordan du konverterer strengen til dags dato ved å bruke verdien av () -metoden i Salesforce Apex.

Dato.verdien av()

ValueOf () i Apex er tilgjengelig i "dato" -klassen som tar strengen som et argument som konverterer den spesifiserte strengen til datoformat. Inngangsstrengen (parameter) inkluderer tre attributter - år, måned og dag. Alle disse tre er kombinert/sammensatt og ført til metoden.

Syntaks: verdi av ()

Som allerede nevnt, må vi erklære en variabel av "datoen" -klassen og gi strengen til den.

Dato date_variabel = dato.Valueof (String_date_format);

Eksempel:

Trinn 1:

La oss ha en streng som holder "Årsmåneders-dagen".

// erklære år, måned og dag én etter en
Strengår = '2023';
String måned = '4';
Strengdag = '5';
// concatenat alle sammen til en streng
String String_type = år + '-' + måned + '-' + dag;
system.Debug (String_Type);

Produksjon:

Steg 2:

Konverter nå den forrige "dato" -strengen til "dato" ved hjelp av verdien av () -metoden fra toppen "dato" -klassen.

// Konverter strengdato til dags dato
Dato konvertert_date = dato.ValueOf (String_Type);
system.Debug (konvertert_date);

Produksjon:

Vi kan se at etter å ha konvertert til "dato", returnerer den automatisk datoen i datetime -formatet. Det vil ikke vurdere tiden (timer: minutter: sekunder) selv om du overfører disse til verdien av () metoden. Det returnerte formatet er YYYY-MM-DD HH: MM: SS.

Konverter datoen til streng

Det er to måter å konvertere "datoen" til "streng". En måte som støttes av Apex bruker format () -metoden. Den andre veien er manuelt å trekke ut "dato" -attributtene (år, måned og dag) og sammenkoble dem til streng. La oss se på dem en etter en.

Format()

Format () -metoden er tilgjengelig i “Dato” -klassen i Apex som konverterer “Dato” til strengen i “M/D/YYYY” -formatet. Vi kan også passere det spesifiserte formatet som en parameter til denne metoden. Det spesifiserte formatet er standardformatet.

Syntaks:

input_date.Format (“Format_type”)

Eksempel:

La oss vurdere det forrige eksemplet og konvertere tilbake "datoen" til "String" ved hjelp av format () -metoden. Vi gir ikke noe spesifikt format til format () -metoden.

// erklære år, måned og dag én etter en
Strengår = '2023';
String måned = '4';
Strengdag = '5';
// concatenat alle sammen til en streng
String String_type = år + '-' + måned + '-' + dag;
// Konverter strengdato til dags dato
Dato konvertert_date = dato.ValueOf (String_Type);
system.Debug (konvertert_date);
// Format ()
system.Debug (konvertert_date.format());

Produksjon:

Bruke dataklassemetoden

I dette scenariet trekker vi ut året, måneden og dagen separat fra "datoen" ved hjelp av tilgjengelige metoder i toppen "Dato" -klassen. Deretter sammenkobler vi disse tre for å returnere “Dato” i “String” -format.

  1. dag() - Denne metoden brukes til å trekke ut datoen fra "datoen". Den returnerer heltallet som spesifiserer datoen.
  2. måned() - Denne metoden brukes til å trekke ut måneden fra "dato". Det returnerer heltallet som spesifiserer månedsnummeret. Vi kan referere til januar som 1. februar som 2 .. . Desember som 12.
  3. år() - Denne metoden brukes til å trekke ut året fra "datoen". Det returnerer året i et firesifret format.

Syntaks:

input_date.år () + '-' + input_date.måned () + '-' + input_date.dag()

Eksempel:

Konverter tilbake "datoen" til "streng" i "yyyy-m" -formatet.

// erklære år, måned og dag én etter en
Strengår = '2023';
String måned = '4';
Strengdag = '5';
// concatenat alle sammen til en streng
String String_type = år + '-' + måned + '-' + dag;
// Konverter strengdato til dags dato
Dato konvertert_date = dato.ValueOf (String_Type);
system.Debug (konvertert_date);
// Konverter dato til streng
system.Debug (konvertert_date.år () + '-' + konvertert_date.måned () + '-' + konvertert_date.dag());

Produksjon:

Praktiske eksempler:

La oss se hvordan du kan oppdatere "datoen" som å legge til dager, år og måneder til eksisterende dato i Salesforce -objektene. Alle tre metodene tar "N" heltallet som et argument.

Addays ()

For å legge til dager til den eksisterende datoen, støtter Apex Addays () -metoden som er tilgjengelig i "dato" -klassen.

AddMonths ()

For å legge til måneder til eksisterende dato, støtter Apex Addmonths () -metoden som er tilgjengelig i "Dato" -klassen.

addyears ()

For å legge år til den eksisterende datoen, støtter Apex Addyears () -metoden som er tilgjengelig i "dato" -klassen.

Syntaks:

La oss se på syntaksen for disse tre metodene. Her “N” arter Heltallverdien.

  • input_date.Addays (n)
  • input_date.Addmonths (N)
  • input_date.addyears (n)

Før du går til eksemplet, bør du vurdere følgende:

  1. Logg inn i Salesforce og gå til "App Launcher" og søk etter "Kampanje" i fanen. Her setter vi inn "kampanjenavn" og "sluttdato".
  1. Velg "Kampanjer" og klikk på "Ny".
  1. En popup ser ut til å sette inn dataene i kampanjen. Legg til “Linux Hint Posts” under “Kampanjenavn” og angi “sluttdato” som 4/5/2023. Klikk deretter på "Lagre".

Vi er klare med posten. (Type - Konferanse og status - planlagt kommer automatisk. La det være). La oss åpne det anonyme vinduet i utviklerkonsollen.

Eksempel 1:

La oss bruke addays () -metoden for å legge til 10 dager til den eksisterende "sluttdatoen" i "kampanjen" -objektet.

  1. For å gjøre dette, må vi først bruke SOQL -spørringen for å få posten fra "Campaign" -objektet og lagre denne posten i et "liste" -objekt.
  2. Deretter bruker vi "for" -løkken for å iterere listen og bruke Addays () -metoden for å legge til 10 dager til "sluttdato".
  3. Til slutt bruker vi "Update DML" -uttalelsen for å oppdatere "sluttdato" i "Kampanjen" -objektet.
// Returnavn og sluttdato fra kampanjen ved hjelp av SOQL
Liste spørring1 = [velg navn, endeDate fra kampanje hvor name = 'Linux hint innlegg'];
// Legg til 10 dager til EndDate ved hjelp av Addays () -metoden
for (Kampanje I: Query1)
Jeg.Enddate = i.Sluttdato.addays (10);

// Bruk oppdatering DML for å oppdatere enddate
oppdatering spørring1;
system.Debug (Query1);

Produksjon:

Forrige "sluttdato" er 5. april. Etter å ha lagt 10 dager til det, er "sluttdato" nå 15. april.

Vi kan også sjekke inn "kampanjen" -fanen. Flytt tilbake og oppdater siden. Du kan se at "sluttdatoen" er oppdatert.

Eksempel 2:

La oss bruke Addmonths () -metoden for å legge til 3 måneder til den eksisterende "sluttdatoen".

// Returnavn og sluttdato fra kampanjen ved hjelp av SOQL
Liste spørring1 = [velg navn, endeDate fra kampanje hvor name = 'Linux hint innlegg'];
system.Debug ('faktisk:'+spørring1);
// Legg til 3 måneder til EndDate ved hjelp av Addmonths () -metoden
for (Kampanje I: Query1)
Jeg.Enddate = i.Sluttdato.Addmonths (3);

// Bruk oppdatering DML for å oppdatere enddate
oppdatering spørring1;
system.Debug ('Oppdatert:'+Query1);

Produksjon:

Forrige måned i "sluttdato" er april. Etter å ha lagt til 3 måneder, er det nå juli.

Eksempel 3:

La oss bruke Addyears () -metoden for å legge til 3 år til den eksisterende "sluttdatoen".

// Returnavn og sluttdato fra kampanjen ved hjelp av SOQL
Liste spørring1 = [velg navn, endeDate fra kampanje hvor name = 'Linux hint innlegg'];
system.Debug ('faktisk:'+spørring1);
// Legg til 3 år til EndDate ved hjelp av Addyears () -metoden
for (Kampanje I: Query1)
Jeg.Enddate = i.Sluttdato.addyears (3);

// Bruk oppdatering DML for å oppdatere enddate
oppdatering spørring1;
system.Debug ('Oppdatert:'+Query1);

Produksjon:

Etter å ha lagt 3 år til "sluttdatoen", er det oppdaterte året 2026.

Konklusjon

Formatering av datoen i Salesforce Apex er ganske enkel. Som en del av denne opplæringen lærte vi hvordan vi konverterer “Dato” fra “String” -format til “Dato” ved å bruke verdien av verdien () som er tilgjengelig i Apex “Date” -klassen. Hvis du vil konvertere datoen tilbake til streng, bruker vi formatet () og dateattributtene som dag (), måned () og år (). Til slutt avsluttet vi denne guiden med å diskutere DML -operasjonen på Salesforce "Campaign" -objektet for å oppdatere "sluttdato" ved hjelp.