Salesforce Apex – kuupäevavorming

Salesforce Apex Kuupaevavorming



Klientide andmete jälgimine jaotises Kontod/Kontaktid on kliendisuhete haldamisel (CRM) väga oluline. Kuupäeva alusel toimuvad kõik protsessid, nagu ostmine, hinnapakkumine ja teenindus. Vaatame, kuidas luua Salesforce'is stringist kuupäev ja teisendada kuupäev stringiks. Selle õpetuse osana näeme koos näidetega ka meetodeid, mida kasutatakse vormindatud kuupäeval, nagu päevade, aastate, kuude jne lisamine.

Tippkuupäevade klass

Kuupäevaklass toetab kõiki primitiivseid kuupäevameetodeid. See kasutab nimeruumi 'Süsteem'. Stringi kuupäevavormingusse teisendamiseks saame kasutada selle klassi meetodit valueOf(). Pärast kuupäeva vormindamist rakendame sellele vormindatud kuupäevale päevade, kuude, aastate jne lisamiseks mõningaid meetodeid, mis on saadaval ka selles kuupäevaklassis.







Esiteks näeme, kuidas teisendada string kuupäevaks, kasutades Salesforce Apexi meetodit valueOf().



Date.valueOf()

ValueOf() Apexis on saadaval klassis “Date”, mis kasutab stringi argumendina, mis teisendab määratud stringi kuupäevavormingusse. Sisendstring (parameeter) sisaldab kolme atribuuti – aasta, kuu ja päev. Kõik need kolm ühendatakse/ühendatakse ja edastatakse meetodile.



Süntaks: ValueOf()

Nagu juba mainitud, peame deklareerima klassi “Kuupäev” muutuja ja edastama sellele stringi.





Kuupäev kuupäev_muutuja= kuupäev.väärtusOf(stringi_kuupäeva_vorming);

Näide:

Samm 1:

Võtame stringi, mis sisaldab 'aasta-kuu-päeva'.

// Aasta, kuu ja päeva deklareerimine ükshaaval

Stringi aasta = '2023';

Stringi kuu = '4';

String Day = '5';

// Ühendage need kõik stringiks

String string_type = Aasta + '-' + kuu + '-' + päev;

system.debug(stringi_tüüp);

Väljund:



2. samm:

Nüüd teisendage eelmine string 'Date' väärtuseks 'Date', kasutades Apexi 'Date' klassi meetodit valueOf().

// Teisenda string-kuupäev kuupäevaks

Kuupäev konverteerimise_kuupäev = kuupäev.väärtusOf(stringi_tüüp);

system.debug(converted_date);

Väljund:

Näeme, et pärast 'Kuupäevaks' teisendamist tagastab see automaatselt kuupäeva vormingus DateTime. See ei võta aega (tunnid: minutid: sekundid) arvesse isegi siis, kui edastate need meetodile valueOf(). Tagastatud vorming on AAAA-KK-PP HH:MM:SS.

Teisendage kuupäev stringiks

'Kuupäeva' teisendamiseks 'Stringiks' on kaks võimalust. Üks Apexi toetatud viis on meetodi format () kasutamine. Teine võimalus on atribuutide 'Kuupäev' käsitsi ekstraheerimine (aasta, kuu ja päev) ja nende ühendamine stringiks. Vaatame neid ükshaaval.

1. Vorming ()

Formaat() meetod on saadaval Apexi klassis 'Kuupäev', mis teisendab 'Date' vormingus 'K/D/AAAA' stringiks. Sellele meetodile saame parameetrina edastada ka määratud vormingu. Määratud vorming on vaikevorming.

Süntaks:

input_date.format(“vormingu_tüüp”)

Näide:

Vaatleme eelmist näidet ja teisendame 'Kuupäev' tagasi 'Stringiks', kasutades format() meetodit. Me ei paku format() meetodile mingit kindlat vormingut.

// Aasta, kuu ja päeva deklareerimine ükshaaval

Stringi aasta = '2023';

Stringi kuu = '4';

String Day = '5';

// Ühendage need kõik stringiks

String string_type = Aasta + '-' + kuu + '-' + päev;

// Teisenda string-kuupäev kuupäevaks

Kuupäev konverteerimise_kuupäev = kuupäev.väärtusOf(stringi_tüüp);

system.debug(converted_date);

// formaat()

system.debug(converted_date.format());

Väljund:

2. Kuupäevaklassi meetodi kasutamine

Selle stsenaariumi korral eraldame aasta, kuu ja päeva eraldi 'Kuupäevast', kasutades Apexi 'Kuupäev' klassis saadaolevaid meetodeid. Järgmisena ühendame need kolm, et tagastada 'Kuupäev' vormingus 'String'.

  1. päev () – Seda meetodit kasutatakse kuupäeva eraldamiseks kuupäevast. Tagastab täisarvu, mis määrab kuupäeva.
  2. kuu () – Seda meetodit kasutatakse kuu eraldamiseks kuupäevast. See tagastab täisarvu, mis määrab kuu numbri. Jaanuarile saame viidata 1. veebruarile, 2. veebruarile…. detsembril 12.
  3. aasta () – Seda meetodit kasutatakse aasta väljavõtmiseks kuupäevast. See tagastab aastaarvu neljakohalises vormingus.

Süntaks:

sisend_kuupäev.aasta() + '-' + sisend_kuupäev.kuu() + '-' + sisend_kuupäev.päev()

Näide:

Teisendage 'Kuupäev' tagasi 'String' vormingus 'AAAA-KK'.

// Aasta, kuu ja päeva deklareerimine ükshaaval

Stringi aasta = '2023';

Stringi kuu = '4';

String Day = '5';

// Ühendage need kõik stringiks

String string_type = Aasta + '-' + kuu + '-' + päev;

// Teisenda string-kuupäev kuupäevaks

Kuupäev konverteerimise_kuupäev = kuupäev.väärtusOf(stringi_tüüp);

system.debug(converted_date);

// Kuupäeva teisendamine stringiks

system.debug(converted_date.year() + '-' + konverteeritud_kuupäev.kuu() + '-' + konverteeritud_kuupäev.päev());

Väljund:

Praktilised näited:

Vaatame, kuidas värskendada kuupäeva, näiteks lisada Salesforce'i objektide olemasolevale kuupäevale päevi, aastaid ja kuid. Kõik kolm meetodit võtavad argumendina täisarvu 'n'.

1. addDays()

Olemasolevale kuupäevale päevade lisamiseks toetab Apex meetodit addDays(), mis on saadaval klassis “Kuupäev”.

2. lisakuud()

Olemasolevale kuupäevale kuude lisamiseks toetab Apex meetodit addMonths(), mis on saadaval klassis “Kuupäev”.

3. AddYears()

Olemasolevale kuupäevale aastate lisamiseks toetab Apex meetodit addYears(), mis on saadaval klassis “Kuupäev”.

Süntaks:

Vaatame nende kolme meetodi süntaksit. Siin tähistab 'n' täisarvu.

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

Enne näite juurde asumist kaaluge järgmist.

  1. Logige sisse Salesforce'i ja avage rakenduste käivitaja ning otsige vahekaardilt 'Kampaania'. Siia sisestame 'Kampaania nimi' ja 'Lõppkuupäev'.

  1. Valige 'Kampaaniad' ja klõpsake 'Uus'.

  1. Ilmub hüpikaken andmete sisestamiseks kampaaniasse. Lisage jaotise 'Kampaania nimi' alla 'Linuxi vihjepostitused' ja määrake 'Lõppkuupäevaks' 5.4.2023. Seejärel klõpsake nuppu 'Salvesta'.

Oleme rekordiga valmis. (Tüüp – Konverents ja Staatus – Planeeritud tuleb automaatselt. Jäta see). Avame arendajakonsoolis anonüümse akna.

Näide 1:

Kasutame meetodit addDays(), et lisada 10 päeva objekti „Kampaania” olemasolevale lõppkuupäevale.

  1. Selleks peame esmalt kasutama SOQL-i päringut, et saada kirje objektist “Campaign” ja salvestada see kirje objektis “Loend”.
  2. Järgmisena kasutame loendi kordamiseks tsüklit 'for' ja meetodit addDays(), et lisada lõppkuupäevale 10 päeva.
  3. Lõpuks kasutame käsku „Uuenda DML-i”, et värskendada objekti „Kampaania” lõppkuupäeva.
// Tagasta nimi ja lõppkuupäev kampaaniast, kasutades SOQL-i

Loend query1 = [SELECT Name,EndDate FROM Campaign WHERE Name = 'Linuxi vihjepostitused'];

// Lisage lõppkuupäevale 10 päeva, kasutades meetodit addDays().

for(Campaign i: query1){

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

}

// Lõppkuupäeva värskendamiseks kasutage DML-i värskendust

värskenda päringut1;

system.debug(query1);

Väljund:

Eelmine “Lõppkuupäev” on 5. aprill. Pärast 10 päeva lisamist on lõppkuupäevaks nüüd 15. aprill.

Saame kontrollida ka vahekaarti „Kampaania”. Liikuge tagasi ja värskendage lehte. Näete, et 'Lõppkuupäev' on värskendatud.

Näide 2:

Kasutame meetodit addMonths(), et lisada olemasolevale lõppkuupäevale 3 kuud.

// Tagasta nimi ja lõppkuupäev kampaaniast, kasutades SOQL-i

Loend query1 = [SELECT Name,EndDate FROM Campaign WHERE Name = 'Linuxi vihjepostitused'];

system.debug('Tegelik: '+päring1);

// Lisage lõppkuupäevale 3 kuud, kasutades meetodit addMonths().

for(Campaign i: query1){

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

}

// Lõppkuupäeva värskendamiseks kasutage DML-i värskendust

värskenda päringut1;

system.debug('Värskendatud: '+päring1);

Väljund:

Eelmine kuu 'Lõppkuupäevas' on aprill. Peale 3 kuu lisamist on nüüd juuli käes.

Näide 3:

Kasutame meetodit addYears(), et lisada olemasolevale lõppkuupäevale 3 aastat.

// Tagasta nimi ja lõppkuupäev kampaaniast, kasutades SOQL-i

Loend query1 = [SELECT Name,EndDate FROM Campaign WHERE Name = 'Linuxi vihjepostitused'];

system.debug('Tegelik: '+päring1);

// Lisage lõppkuupäevale 3 aastat, kasutades meetodit addYears().

for(Campaign i: query1){

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

}

// Lõppkuupäeva värskendamiseks kasutage DML-i värskendust

värskenda päringut1;

system.debug('Värskendatud: '+päring1);

Väljund:

Pärast 3 aasta lisamist lõppkuupäevale on uuendatud aasta 2026.

Järeldus

Kuupäeva vormindamine Salesforce Apexis on üsna lihtne. Selle õpetuse osana õppisime, kuidas teisendada 'Date' vormingust 'String' vorminguks 'Date', kasutades Apexi 'Date' klassis saadaolevat meetodit valueOf(). Kui soovite teisendada kuupäeva tagasi stringiks, kasutame atribuute format () ja kuupäeva, nagu day(), month() ja year(). Lõpuks arutasime selle juhendi DML-i toimingut Salesforce'i objektil 'Campaign', et värskendada 'Lõppkuupäeva', kasutades meetodeid addDays(), addMonths() ja addYears() eraldi näidetega.