Sledenje podrobnostim strank v računih/stikih je zelo pomembno pri upravljanju odnosov s strankami (CRM). Na podlagi datuma se zgodijo vsi procesi, kot so nabava, ponudba in servis. Poglejmo, kako ustvariti datum iz niza v Salesforce in pretvoriti datum v niz. Kot del te vadnice si bomo ogledali tudi metode, ki se uporabljajo za formatirani datum, kot je dodajanje dni, let, mesecev itd., s primeri.
Datumski razred Apex
Datumski razred podpira vse datumske metode, ki so primitivne. Uporablja imenski prostor »Sistem«. Za pretvorbo niza v datumsko obliko lahko uporabimo metodo valueOf() iz tega razreda. Po oblikovanju datuma uporabimo nekatere metode za dodajanje dni, mesecev, let itd. temu oblikovanemu datumu z uporabo nekaterih metod, ki so na voljo tudi v tem datumskem razredu.
Najprej si bomo ogledali, kako pretvoriti niz v datum z uporabo metode valueOf() v Salesforce Apex.
Date.valueOf()
ValueOf() v Apexu je na voljo v razredu »Datum«, ki vzame niz kot argument, ki pretvori podani niz v obliko datuma. Vhodni niz (parameter) vključuje tri atribute – leto, mesec in dan. Vsi ti trije so združeni/združeni in posredovani metodi.
Sintaksa: ValueOf()
Kot že omenjeno, moramo deklarirati spremenljivko razreda “Datum” in ji posredovati niz.
Datum date_variable= date.valueOf(string_date_format);
primer:
Korak 1:
Imejmo niz, ki vsebuje 'leto-mesec-dan'.
// Navedite leto, mesec in dan enega za drugimLeto niza = '2023';
String Month = '4';
Dan niza = '5';
// Združi vse v niz
Niz string_type = leto + '-' + mesec + '-' + dan;
system.debug(vrsta_niza);
Izhod:
2. korak:
Zdaj pretvorite prejšnji niz »Datum« v »Datum« z uporabo metode valueOf() iz razreda Apex »Datum«.
// Pretvori string-Date v DateDatum pretvorjenega_datuma = datum.valueOf(vrsta_niza);
system.debug(datum_pretvorbe);
Izhod:
Vidimo lahko, da po pretvorbi v »Datum« samodejno vrne datum v formatu DateTime. Ne bo upošteval časa (ure: minute: sekunde), tudi če jih posredujete metodi valueOf(). Vrnjena oblika je LLLL-MM-DD HH:MM:SS.
Pretvori datum v niz
Obstajata dva načina za pretvorbo »Datuma« v »Niz«. Eden od načinov, ki ga podpira Apex, je uporaba metode format(). Drugi način je ročno ekstrahiranje atributov »Datum« (leto, mesec in dan) in njihovo združevanje v niz. Poglejmo jih enega za drugim.
1. Oblika ()
Metoda format() je na voljo v razredu »Datum« v Apexu, ki pretvori »Datum« v niz v obliki zapisa »M/D/LLLL«. Tej metodi lahko podani format posredujemo tudi kot parameter. Navedena oblika je privzeta oblika.
Sintaksa:
input_date.format(“format_type”)primer:
Oglejmo si prejšnji primer in pretvorimo nazaj »Datum« v »Niz« z uporabo metode format(). Za metodo format() ne zagotavljamo nobene posebne oblike.
// Navedite leto, mesec in dan enega za drugimLeto niza = '2023';
String Month = '4';
Dan niza = '5';
// Združi vse v niz
Niz string_type = leto + '-' + mesec + '-' + dan;
// Pretvori string-Date v Date
Datum pretvorjenega_datuma = datum.valueOf(vrsta_niza);
system.debug(datum_pretvorbe);
// format()
system.debug(converted_date.format());
Izhod:
2. Uporaba metode datumskega razreda
V tem scenariju izvlečemo leto, mesec in dan ločeno iz »Datuma« z uporabo razpoložljivih metod v razredu »Datum« Apex. Nato združimo te tri, da vrnemo »Datum« v obliki zapisa »Niz«.
- dan() – Ta metoda se uporablja za ekstrahiranje datuma iz »Datuma«. Vrne celo število, ki podaja datum.
- mesec() – Ta metoda se uporablja za ekstrahiranje meseca iz »Datuma«. Vrne celo število, ki določa številko meseca. Januarja lahko imenujemo 1, februarja 2.... decembra od 12.
- leto() – Ta metoda se uporablja za pridobivanje leta iz »Datuma«. Vrne leto v štirimestni obliki.
Sintaksa:
input_date.year() + '-' + input_date.month() + '-' + input_date.day()primer:
Pretvorite nazaj »Datum« v »Niz« v formatu »LLLL-M-D«.
// Navedite leto, mesec in dan enega za drugimLeto niza = '2023';
String Month = '4';
Dan niza = '5';
// Združi vse v niz
Niz string_type = leto + '-' + mesec + '-' + dan;
// Pretvori string-Date v Date
Datum pretvorjenega_datuma = datum.valueOf(vrsta_niza);
system.debug(datum_pretvorbe);
// Pretvori datum v niz
system.debug(converted_date.year() + '-' + converted_date.month() + '-' + converted_date.day());
Izhod:
Praktični primeri:
Poglejmo, kako posodobiti »Datum«, kot je dodajanje dni, let in mesecev obstoječemu datumu v predmetih Salesforce. Vse tri metode kot argument sprejmejo celo število 'n'.
1. addDays()
Za dodajanje dni obstoječemu datumu Apex podpira metodo addDays(), ki je na voljo v razredu »Datum«.
2. addMonths()
Za dodajanje mesecev obstoječemu datumu Apex podpira metodo addMonths(), ki je na voljo v razredu »Datum«.
3. addYears()
Za dodajanje let obstoječemu datumu Apex podpira metodo addYears(), ki je na voljo v razredu »Datum«.
Sintaksa:
Oglejmo si sintakso za te tri metode. Tukaj je 'n' celoštevilska vrednost.
- input_Date.addDays(n)
- input_Date.addMonths(n)
- input_Date.addYears(n)
Preden preidete na primer, upoštevajte naslednje:
- Prijavite se v Salesforce in pojdite na »App Launcher« ter na zavihku poiščite »Campaign«. Tukaj vstavimo »Ime oglaševalske akcije« in »Končni datum«.
- Izberite »Oglaševalske akcije« in kliknite »Novo«.
- Prikaže se pojavno okno za vstavljanje podatkov v akcijo. Dodajte »Objave z namigi za Linux« pod »Ime oglaševalske akcije« in nastavite »Končni datum« na 5. 4. 2023. Nato kliknite »Shrani«.
Z zapisom smo pripravljeni. (Vrsta – Konferenca in Status – Načrtovano bo prišlo samodejno. Pustite to). Odprimo anonimno okno v konzoli za razvijalce.
Primer 1:
Uporabimo metodo addDays(), da dodamo 10 dni obstoječemu »Končnemu datumu« v objektu »Campaign«.
- Da bi to naredili, moramo najprej uporabiti poizvedbo SOQL, da dobimo zapis iz predmeta »Campaign« in shranimo ta zapis v objekt »List«.
- Nato uporabimo zanko »za« za ponovitev seznama in uporabimo metodo addDays(), da dodamo 10 dni »končnemu datumu«.
- Na koncu uporabimo stavek »posodobi DML« za posodobitev »Končnega datuma« v objektu »Oglaševalska akcija«.
List
// Dodajte 10 dni Končnemu datumu z uporabo metode addDays().
for(Campaign i: query1){
i.EndDate = i.EndDate.addDays(10);
}
// Uporabite posodobitev DML za posodobitev končnega datuma
posodobi poizvedbo1;
system.debug(poizvedba1);
Izhod:
Prejšnji »končni datum« je 5. april. Po dodajanju 10 dni je »končni datum« zdaj 15. april.
Preverimo lahko tudi v zavihku »Kampanja«. Premaknite se nazaj in osvežite stran. Vidite lahko, da je »Končni datum« posodobljen.
Primer 2:
Uporabimo metodo addMonths(), da obstoječemu »končnemu datumu« dodamo 3 mesece.
// Vrni ime in končni datum iz akcije z uporabo SOQLList
system.debug('Dejansko: '+poizvedba1);
// Dodajte 3 mesece Končnemu datumu z uporabo metode addMonths().
for(Campaign i: query1){
i.EndDate = i.EndDate.addMonths(3);
}
// Uporabite posodobitev DML za posodobitev končnega datuma
posodobi poizvedbo1;
system.debug('Posodobljeno: '+query1);
Izhod:
Prejšnji mesec v »končnem datumu« je april. Po dodajanju 3 mesecev je zdaj julij.
Primer 3:
Uporabimo metodo addYears(), da obstoječemu »končnemu datumu« dodamo 3 leta.
// Vrni ime in končni datum iz akcije z uporabo SOQLList
system.debug('Dejansko: '+poizvedba1);
// Dodajte 3 leta Končnemu datumu z metodo addYears().
for(Campaign i: query1){
i.EndDate = i.EndDate.addYears(3);
}
// Uporabite posodobitev DML za posodobitev končnega datuma
posodobi poizvedbo1;
system.debug('Posodobljeno: '+query1);
Izhod:
Po dodajanju 3 let v »Končni datum« je posodobljeno leto 2026.
Zaključek
Oblikovanje datuma v Salesforce Apex je povsem preprosto. Kot del te vadnice smo se naučili, kako pretvoriti »Datum« iz zapisa »Niz« v »Datum« z uporabo metode valueOf(), ki je na voljo v Apexovem razredu »Datum«. Če želite datum pretvoriti nazaj v niz, uporabimo format() in atribute datuma, kot so dan(), mesec() in leto(). Na koncu smo ta vodnik zaključili z razpravo o operaciji DML na objektu »Campaign« Salesforce za posodobitev »Končnega datuma« z uporabo metod addDays(), addMonths() in addYears() z ločenimi primeri.