Salesforce Apex – Datumformat

Salesforce Apex Datumformat



Att spåra kunders detaljer i konton/kontakter är mycket viktigt i Customer Relationship Management (CRM). Baserat på datumet sker alla processer som inköp, offerter och service. Låt oss titta på hur du skapar datumet från sträng i Salesforce och konverterar datumet till sträng. Som en del av denna handledning kommer vi också att se metoderna som tillämpas på det formaterade datumet som att lägga till dagar, år, månader, etc., med exempel.

Apex datumklass

Datumklass stöder alla datummetoder som är primitiva. Den använder namnutrymmet 'System'. Vi kan använda metoden valueOf() från den här klassen för att konvertera strängen till ett datumformat. Efter att ha formaterat datumet använder vi några metoder för att lägga till dagar, månader, år, etc. till detta formaterade datum med hjälp av några metoder som också är tillgängliga i denna datumklass.







Först kommer vi att se hur man konverterar strängen till datum med metoden valueOf() i Salesforce Apex.



Date.valueOf()

valueOf() i Apex är tillgänglig i klassen 'Date' som tar strängen som ett argument som konverterar den angivna strängen till datumformatet. Inmatningssträngen (parametern) innehåller tre attribut – år, månad och dag. Alla dessa tre kombineras/konkateneras och överförs till metoden.



Syntax: ValueOf()

Som redan nämnts måste vi deklarera en variabel av klassen 'Datum' och skicka strängen till den.





Date date_variable= date.valueOf(string_date_format);

Exempel:

Steg 1:

Låt oss ha en sträng som innehåller 'År-månad-dag'.

// Deklarera år, månad och dag en efter en

Strängår = '2023';

Strängmånad = '4';

Strängdag = '5';

// Sammanfoga alla till en sträng

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

system.debug(strängtyp);

Produktion:



Steg 2:

Konvertera nu den tidigare 'Date'-strängen till 'Date' med metoden valueOf() från Apex-klassen 'Date'.

// Konvertera sträng-datum till datum

Date converted_date = date.valueOf(string_type);

system.debug(konverterat_datum);

Produktion:

Vi kan se att efter konvertering till 'Datum' returnerar den automatiskt datumet i formatet DateTime. Den tar inte hänsyn till tiden (timmar: minuter: sekunder) även om du skickar dessa till metoden valueOf(). Det returnerade formatet är ÅÅÅÅ-MM-DD TT:MM:SS.

Konvertera datum till sträng

Det finns två sätt att konvertera 'Datum' till 'String'. Ett sätt som stöds av Apex är att använda format()-metoden. Det andra sättet är att manuellt extrahera 'Datum'-attributen (år, månad och dag) och sammanfoga dem i en sträng. Låt oss titta på dem en efter en.

1. Format()

Metoden format() är tillgänglig i klassen 'Date' i Apex som konverterar 'Date' till strängen i formatet 'M/D/YYYY'. Vi kan också skicka det angivna formatet som en parameter till denna metod. Det angivna formatet är standardformatet.

Syntax:

input_date.format(“format_typ”)

Exempel:

Låt oss överväga det föregående exemplet och konvertera tillbaka 'Datum' till 'String' med metoden format(). Vi tillhandahåller inte något specifikt format till format()-metoden.

// Deklarera år, månad och dag en efter en

Strängår = '2023';

Strängmånad = '4';

Strängdag = '5';

// Sammanfoga alla till en sträng

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

// Konvertera sträng-datum till datum

Date converted_date = date.valueOf(string_type);

system.debug(konverterat_datum);

// format()

system.debug(converted_date.format());

Produktion:

2. Använda datumklassmetoden

I det här scenariot extraherar vi år, månad och dag separat från 'Datum' med hjälp av de tillgängliga metoderna i klassen Apex 'Date'. Därefter sammanfogar vi dessa tre för att returnera 'Datum' i 'String'-format.

  1. dag() – Denna metod används för att extrahera datumet från 'Datum'. Den returnerar det heltal som anger datumet.
  2. månad() – Denna metod används för att extrahera månaden från 'Datum'. Den returnerar det heltal som anger månadsnumret. Vi kan referera till januari som 1, februari som 2…. december som 12.
  3. år() – Denna metod används för att extrahera årtalet från 'Datum'. Den returnerar året i ett fyrsiffrigt format.

Syntax:

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

Exempel:

Konvertera tillbaka 'Datum' till 'String' i formatet 'ÅÅÅÅ-M-D'.

// Deklarera år, månad och dag en efter en

Strängår = '2023';

Strängmånad = '4';

Strängdag = '5';

// Sammanfoga alla till en sträng

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

// Konvertera sträng-datum till datum

Date converted_date = date.valueOf(string_type);

system.debug(konverterat_datum);

// Konvertera datum till sträng

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

Produktion:

Praktiska exempel:

Låt oss se hur du uppdaterar 'Datum' som att lägga till dagar, år och månader till det befintliga datumet i Salesforce-objekten. Alla tre metoderna tar 'n' heltal som ett argument.

1. addDays()

För att lägga till dagar till det befintliga datumet stöder Apex metoden addDays() som är tillgänglig i klassen 'Date'.

2. addMonths()

För att lägga till månader till det befintliga datumet stöder Apex metoden addMonths() som är tillgänglig i klassen 'Date'.

3. addYears()

För att lägga till år till det befintliga datumet stöder Apex metoden addYears() som är tillgänglig i klassen 'Date'.

Syntax:

Låt oss titta på syntaxen för dessa tre metoder. Här anger 'n' heltalsvärdet.

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

Innan du går till exemplet, överväg följande:

  1. Logga in på Salesforce och gå till 'Appstarter' och sök efter 'Kampanj' på fliken. Här infogar vi 'Kampanjnamn' och 'Slutdatum'.

  1. Välj 'Kampanjer' och klicka på 'Ny'.

  1. En popup visas för att infoga data i kampanjen. Lägg till 'Linux-tipsinlägg' under 'Kampanjnamn' och ställ in 'Slutdatum' som 4/5/2023. Klicka sedan på 'Spara'.

Vi är redo med skivan. (Typ – Konferens och Status – Planerad kommer automatiskt. Lämna det). Låt oss öppna det anonyma fönstret i utvecklarkonsolen.

Exempel 1:

Låt oss använda metoden addDays() för att lägga till 10 dagar till det befintliga 'Slutdatum' i 'Campaign'-objektet.

  1. För att göra detta måste vi först använda SOQL-frågan för att hämta posten från 'Campaign'-objektet och lagra denna post i ett 'List'-objekt.
  2. Därefter använder vi 'for'-loopen för att iterera listan och använder metoden addDays() för att lägga till 10 dagar till 'Slutdatum'.
  3. Slutligen använder vi 'update DML'-satsen för att uppdatera 'Slutdatum' i 'Campaign'-objektet.
// Returnera namn och slutdatum från kampanjen med SOQL

List query1 = [VÄLJ namn,Slutdatum FRÅN Kampanj WHERE Name = 'Linux-tipsinlägg'];

// Lägg till 10 dagar till EndDate med metoden addDays().

for(Campaign i: query1){

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

}

// Använd uppdatera DML för att uppdatera Slutdatumet

uppdatera fråga1;

system.debug(fråga1);

Produktion:

Det tidigare 'slutdatumet' är den 5 april. Efter att ha lagt till 10 dagar till det, är 'Slutdatum' nu 15 april.

Vi kan också kolla på fliken 'Kampanj'. Flytta tillbaka och uppdatera sidan. Du kan se att 'Slutdatum' är uppdaterat.

Exempel 2:

Låt oss använda metoden addMonths() för att lägga till 3 månader till det befintliga 'Slutdatumet'.

// Returnera namn och slutdatum från kampanjen med SOQL

List query1 = [VÄLJ namn,Slutdatum FRÅN Kampanj WHERE Name = 'Linux-tipsinlägg'];

system.debug('Faktisk: '+fråga1);

// Lägg till 3 månader till EndDate med metoden addMonths().

for(Campaign i: query1){

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

}

// Använd uppdatera DML för att uppdatera Slutdatumet

uppdatera fråga1;

system.debug('Uppdaterad: '+fråga1);

Produktion:

Föregående månad i 'Slutdatum' är april. Efter att ha lagt till 3 månader är det nu juli.

Exempel 3:

Låt oss använda metoden addYears() för att lägga till 3 år till det befintliga 'Slutdatumet'.

// Returnera namn och slutdatum från kampanjen med SOQL

List query1 = [VÄLJ namn,Slutdatum FRÅN Kampanj WHERE Name = 'Linux-tipsinlägg'];

system.debug('Faktisk: '+fråga1);

// Lägg till 3 år till EndDate med metoden addYears().

for(Campaign i: query1){

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

}

// Använd uppdatera DML för att uppdatera Slutdatumet

uppdatera fråga1;

system.debug('Uppdaterad: '+fråga1);

Produktion:

Efter att ha lagt till 3 år till 'Slutdatum' är det uppdaterade året 2026.

Slutsats

Att formatera datumet i Salesforce Apex är ganska enkelt. Som en del av den här handledningen lärde vi oss hur man konverterar 'Datum' från 'String'-format till 'Date' med metoden valueOf() som är tillgänglig i Apex 'Date' Class. Om du vill konvertera tillbaka datumet till sträng använder vi format() och date attribut som day(), month() och year(). Slutligen avslutade vi den här guiden med att diskutera DML-operationen på Salesforce-objektet 'Campaign' för att uppdatera 'Slutdatum' med metoderna addDays(), addMonths() och addYears() med separata exempel.