Salesforce Apex – Datoformat

Salesforce Apex Datoformat



Sporing av detaljene til kunder i kontoer/kontakter er svært viktig i Customer Relationship Management (CRM). Basert på datoen skjer alle prosesser som kjøp, tilbud 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-datoklasse

Datoklassen støtter alle datometoder som er primitive. Den bruker 'System'-navneområdet. Vi kan bruke valueOf()-metoden fra denne klassen for å konvertere strengen til et datoformat. Etter formatering av datoen bruker vi noen metoder for å legge til dager, måneder, år osv. til denne formaterte datoen ved å bruke noen metoder som også er tilgjengelige i denne datoklassen.







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



Date.valueOf()

valueOf() i Apex er tilgjengelig i klassen 'Date' som tar strengen som et argument som konverterer den angitte strengen til datoformatet. Inndatastrengen (parameteren) inkluderer tre attributter – år, måned og dag. Alle disse tre er kombinert/sammenkoblet og videreført til metoden.



Syntaks: ValueOf()

Som allerede nevnt, må vi deklarere en variabel av klassen 'Date' og sende strengen til den.





Dato date_variable= date.valueOf(string_date_format);

Eksempel:

Trinn 1:

La oss ha en streng som inneholder 'År-måned-dag'.

// Erklær år, måned og dag én etter én

Strengår = '2023';

Strengmåned = '4';

Strengedag = '5';

// Slå sammen alle sammen til en streng

String string_type = År + '-' + Måned + '-' + Dag;

system.debug(streng_type);

Produksjon:



Steg 2:

Konverter nå den forrige 'Date'-strengen til 'Date' ved å bruke valueOf()-metoden fra Apex-klassen 'Date'.

// Konverter streng-dato til dato

Dato converted_date = date.valueOf(string_type);

system.debug(konvertert_dato);

Produksjon:

Vi kan se at etter konvertering til 'Dato', returnerer den automatisk datoen i DateTime-formatet. Den vil ikke vurdere tiden (timer: minutter: sekunder) selv om du sender disse til valueOf()-metoden. Det returnerte formatet er ÅÅÅÅ-MM-DD TT:MM:SS.

Konverter datoen til streng

Det er to måter å konvertere 'Dato' til 'String'. En måte som støttes av Apex er å bruke format()-metoden. Den andre måten er å manuelt trekke ut 'Dato'-attributtene (år, måned og dag) og sette dem sammen til en streng. La oss se på dem én etter én.

1. Format()

Format()-metoden er tilgjengelig i 'Date'-klassen i Apex som konverterer 'Date' til strengen i 'M/D/YYYY'-formatet. Vi kan også sende det angitte formatet som en parameter til denne metoden. Det angitte formatet er standardformatet.

Syntaks:

input_date.format(“format_type”)

Eksempel:

La oss vurdere det forrige eksemplet og konvertere tilbake 'Dato' til 'String' ved å bruke format()-metoden. Vi gir ikke noe spesifikt format til format()-metoden.

// Erklær år, måned og dag én etter én

Strengår = '2023';

Strengmåned = '4';

Strengedag = '5';

// Slå sammen alle sammen til en streng

String string_type = År + '-' + Måned + '-' + Dag;

// Konverter streng-dato til dato

Dato converted_date = date.valueOf(string_type);

system.debug(konvertert_dato);

// format()

system.debug(konvertert_dato.format());

Produksjon:

2. Bruke datoklassemetoden

I dette scenariet trekker vi ut år, måned og dag separat fra 'Dato' ved å bruke de tilgjengelige metodene i Apex 'Date'-klassen. Deretter setter vi sammen disse tre for å returnere 'Dato' i 'String' -format.

  1. dag() – Denne metoden brukes til å trekke ut datoen fra 'Datoen'. Det returnerer heltallet som spesifiserer datoen.
  2. måned() – Denne metoden brukes til å trekke ut måneden fra 'Datoen'. Den 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'. Den returnerer året i et firesifret format.

Syntaks:

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

Eksempel:

Konverter tilbake 'Dato' til 'String' i 'ÅÅÅÅ-M-D'-formatet.

// Erklær år, måned og dag én etter én

Strengår = '2023';

Strengmåned = '4';

Strengedag = '5';

// Slå sammen alle sammen til en streng

String string_type = År + '-' + Måned + '-' + Dag;

// Konverter streng-dato til dato

Dato converted_date = date.valueOf(string_type);

system.debug(konvertert_dato);

// Konverter dato til streng

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

Produksjon:

Praktiske eksempler:

La oss se hvordan du oppdaterer 'Datoen' som å legge til dager, år og måneder til den eksisterende datoen i Salesforce-objektene. Alle tre metodene tar 'n' heltall som et argument.

1. addDays()

For å legge til dager til den eksisterende datoen, støtter Apex metoden addDays() som er tilgjengelig i klassen 'Date'.

2. addMonths()

For å legge til måneder til den eksisterende datoen, støtter Apex metoden addMonths() som er tilgjengelig i klassen 'Date'.

3. addYears()

For å legge til år til den eksisterende datoen, støtter Apex metoden addYears() som er tilgjengelig i klassen 'Date'.

Syntaks:

La oss se på syntaksen for disse tre metodene. Her angir 'n' heltallsverdien.

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

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

  1. Logg på Salesforce og gå til «Appstarter» og søk etter «Kampanje» i fanen. Her setter vi inn 'Kampanjenavn' og 'Sluttdato'.

  1. Velg 'Kampanjer' og klikk på 'Ny'.

  1. En popup vises for å 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 rekorden. (Type – Konferanse og Status – Planlagt kommer automatisk. La det stå). La oss åpne det anonyme vinduet i utviklerkonsollen.

Eksempel 1:

La oss bruke addDays()-metoden for å legge til 10 dager til den eksisterende 'Sluttdatoen' i 'Campaign'-objektet.

  1. For å gjøre dette må vi først bruke SOQL-spørringen for å hente posten fra 'Campaign'-objektet og lagre denne posten i et 'List'-objekt.
  2. Deretter bruker vi 'for'-løkken for å iterere listen og bruker addDays()-metoden for å legge til 10 dager til 'sluttdatoen'.
  3. Til slutt bruker vi 'update DML'-setningen for å oppdatere 'End Date' i 'Campaign'-objektet.
// Returner navn og sluttdato fra kampanjen med SOQL

List query1 = [VELG navn,sluttdato FRA kampanje WHERE Name = 'Linux-hintinnlegg'];

// Legg til 10 dager til EndDate ved hjelp av addDays()-metoden

for(Campaign i: query1){

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

}

// Bruk oppdatering DML for å oppdatere sluttdatoen

oppdater spørring1;

system.debug(spørring1);

Produksjon:

Den forrige 'sluttdatoen' er 5. april. Etter å ha lagt til 10 dager, er 'sluttdatoen' nå 15. april.

Vi kan også sjekke i «Kampanje»-fanen. Gå 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'.

// Returner navn og sluttdato fra kampanjen med SOQL

List query1 = [VELG navn,sluttdato FRA kampanje WHERE Name = 'Linux-hintinnlegg'];

system.debug('Faktisk: '+spørring1);

// Legg til 3 måneder til EndDate ved hjelp av addMonths()-metoden

for(Campaign i: query1){

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

}

// Bruk oppdatering DML for å oppdatere sluttdatoen

oppdater 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'.

// Returner navn og sluttdato fra kampanjen med SOQL

List query1 = [VELG navn,sluttdato FRA kampanje WHERE Name = 'Linux-hintinnlegg'];

system.debug('Faktisk: '+spørring1);

// Legg til 3 år til EndDate ved å bruke addYears()-metoden

for(Campaign i: query1){

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

}

// Bruk oppdatering DML for å oppdatere sluttdatoen

oppdater spørring1;

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

Produksjon:

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

Konklusjon

Formatering av datoen i Salesforce Apex er ganske enkelt. Som en del av denne opplæringen lærte vi hvordan du konverterer 'Date' fra 'String'-format til 'Date' ved å bruke valueOf()-metoden som er tilgjengelig i Apex 'Date' Class. Hvis du vil konvertere tilbake datoen til streng, bruker vi format() og date-attributtene som day(), month() og year(). Til slutt avsluttet vi denne veiledningen med å diskutere DML-operasjonen på Salesforce 'Campaign'-objektet for å oppdatere 'End Date' ved hjelp av addDays(), addMonths() og addYears()-metodene med separate eksempler.