Salesforce Apex – Format ng Petsa

Salesforce Apex Format Ng Petsa



Ang pagsubaybay sa mga detalye ng mga customer sa Accounts/Contacts ay napakahalaga sa Customer Relationship Management (CRM). Batay sa petsa, nangyayari ang lahat ng proseso tulad ng pagbili, pag-quote, at serbisyo. Tingnan natin kung paano gawin ang petsa mula sa string sa Salesforce at i-convert ang petsa sa string. Bilang bahagi ng tutorial na ito, makikita rin natin ang mga pamamaraan na inilapat sa naka-format na petsa tulad ng pagdaragdag ng mga araw, taon, buwan, atbp., na may mga halimbawa.

Klase ng Apex Petsa

Sinusuportahan ng klase ng petsa ang lahat ng mga pamamaraan ng petsa na primitive. Ginagamit nito ang namespace na 'System'. Maaari naming gamitin ang valueOf() na paraan mula sa klase na ito upang i-convert ang string sa isang format ng petsa. Pagkatapos i-format ang petsa, nag-aaplay kami ng ilang paraan para idagdag ang mga araw, buwan, taon, atbp., sa naka-format na petsang ito gamit ang ilang pamamaraan na available din sa klase ng petsang ito.







Una, makikita natin kung paano i-convert ang string sa petsa gamit ang valueOf() method sa Salesforce Apex.



Date.valueOf()

Ang valueOf() sa Apex ay available sa klase na 'Petsa' na kumukuha ng string bilang argumento na nagko-convert sa tinukoy na string sa format ng petsa. Kasama sa input string (parameter) ang tatlong attribute – taon, buwan, at araw. Ang lahat ng tatlong ito ay pinagsama/pinagsama-sama at ipinasa sa pamamaraan.



Syntax: ValueOf()

Tulad ng nabanggit na, kailangan nating magdeklara ng variable ng klase ng 'Petsa' at ipasa ang string dito.





Petsa date_variable= date.valueOf(string_date_format);

Halimbawa:

Hakbang 1:

Magkaroon tayo ng string na nagtataglay ng 'Year-Month-Day'.

// Ipahayag ang taon, buwan at araw nang paisa-isa

String Year = '2023';

String Month = '4';

Araw ng String = '5';

// Pagsamahin ang lahat sa isang string

String string_type = Taon + '-' + Buwan + '-' + Araw;

system.debug(string_type);

Output:



Hakbang 2:

Ngayon, i-convert ang dating string na 'Petsa' sa 'Petsa' gamit ang valueOf() na paraan mula sa klase ng Apex 'Date'.

// I-convert ang string-Date sa Petsa

Petsa ng na-convert_date = date.valueOf(string_type);

system.debug(converted_date);

Output:

Makikita natin na pagkatapos i-convert sa 'Petsa', awtomatiko nitong ibinabalik ang petsa sa format na DateTime. Hindi nito isasaalang-alang ang Oras (Oras:Minuto:Segundo) kahit na ipasa mo ito sa valueOf() na paraan. Ang ibinalik na format ay YYYY-MM-DD HH:MM:SS.

I-convert ang Petsa sa String

Mayroong dalawang paraan upang i-convert ang 'Petsa' sa 'String'. Ang isang paraan na sinusuportahan ng Apex ay ang paggamit ng format() na paraan. Ang isa pang paraan ay ang manu-manong pag-extract ng mga attribute na 'Petsa' (taon, buwan, at araw) at pagsasama-samahin ang mga ito sa string. Tingnan natin sila isa-isa.

1. Format()

Ang format() na paraan ay available sa klase ng 'Petsa' sa Apex na nagko-convert ng 'Petsa' sa string sa format na 'M/D/YYYY'. Maaari rin nating ipasa ang tinukoy na format bilang parameter sa pamamaraang ito. Ang tinukoy na format ay ang default na format.

Syntax:

input_date.format(“format_type”)

Halimbawa:

Isaalang-alang natin ang nakaraang halimbawa at i-convert muli ang 'Petsa' sa 'String' gamit ang format() na paraan. Hindi kami nagbibigay ng anumang partikular na format sa paraan ng format().

// Ipahayag ang taon, buwan at araw nang paisa-isa

String Year = '2023';

String Month = '4';

Araw ng String = '5';

// Pagsamahin ang lahat sa isang string

String string_type = Taon + '-' + Buwan + '-' + Araw;

// I-convert ang string-Date sa Petsa

Petsa ng na-convert_date = date.valueOf(string_type);

system.debug(converted_date);

// format()

system.debug(converted_date.format());

Output:

2. Gamit ang Date Class Method

Sa sitwasyong ito, kinukuha namin ang taon, buwan, at araw nang hiwalay sa 'Petsa' gamit ang mga available na pamamaraan sa klase ng Apex 'Petsa'. Susunod, pinagsasama namin ang tatlong ito upang ibalik ang 'Petsa' sa format na 'String'.

  1. araw() – Ginagamit ang paraang ito upang kunin ang petsa mula sa “Petsa”. Ibinabalik nito ang integer na tumutukoy sa petsa.
  2. buwan() – Ginagamit ang paraang ito upang kunin ang buwan mula sa “Petsa”. Ibinabalik nito ang integer na tumutukoy sa numero ng buwan. Maaari naming tukuyin ang Enero bilang 1, Pebrero bilang 2…. Disyembre bilang 12.
  3. taon() – Ginagamit ang paraang ito upang kunin ang taon mula sa “Petsa”. Ibinabalik nito ang taon sa isang apat na digit na format.

Syntax:

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

Halimbawa:

I-convert muli ang 'Petsa' sa 'String' sa format na 'YYYY-M-D'.

// Ipahayag ang taon, buwan at araw nang paisa-isa

String Year = '2023';

String Month = '4';

Araw ng String = '5';

// Pagsamahin ang lahat sa isang string

String string_type = Taon + '-' + Buwan + '-' + Araw;

// I-convert ang string-Date sa Petsa

Petsa ng na-convert_date = date.valueOf(string_type);

system.debug(converted_date);

// I-convert ang Petsa sa String

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

Output:

Mga Praktikal na Halimbawa:

Tingnan natin kung paano i-update ang 'Petsa' tulad ng pagdaragdag ng mga araw, taon, at buwan sa kasalukuyang petsa sa mga object ng Salesforce. Ang lahat ng tatlong mga pamamaraan ay kumukuha ng 'n' integer bilang isang argumento.

1. addDays()

Upang magdagdag ng mga araw sa kasalukuyang petsa, sinusuportahan ng Apex ang paraan ng addDays() na available sa klase na 'Petsa'.

2. addMonths()

Upang magdagdag ng mga buwan sa kasalukuyang petsa, sinusuportahan ng Apex ang paraan ng addMonths() na available sa klase na 'Petsa'.

3. addYears()

Upang magdagdag ng mga taon sa kasalukuyang petsa, sinusuportahan ng Apex ang paraan ng addYears() na available sa klase na “Petsa”.

Syntax:

Tingnan natin ang syntax para sa tatlong pamamaraang ito. Dito, 'n' species ang integer value.

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

Bago pumunta sa halimbawa, isaalang-alang ang sumusunod:

  1. Mag-login sa Salesforce at pumunta sa “App Launcher” at hanapin ang “Campaign” sa tab. Dito, inilalagay namin ang 'Pangalan ng Kampanya' at 'Petsa ng Pagtatapos'.

  1. Piliin ang 'Mga Kampanya' at mag-click sa 'Bago'.

  1. Lumilitaw ang isang popup upang ipasok ang data sa kampanya. Magdagdag ng “Linux Hint Posts” sa ilalim ng “Campaign Name” at itakda ang “End Date” bilang 4/5/2023. Pagkatapos, mag-click sa 'I-save'.

Handa na kami sa record. (Uri – Kumperensya at Katayuan – Awtomatikong darating ang Plano. Iwanan mo iyon). Buksan natin ang anonymous na window sa developer console.

Halimbawa 1:

Gamitin natin ang paraan ng addDays() upang magdagdag ng 10 araw sa umiiral na 'Petsa ng Pagtatapos' sa object na 'Campaign.'

  1. Para magawa ito, kailangan muna nating gamitin ang SOQL Query para makuha ang record mula sa object na 'Campaign' at iimbak ang record na ito sa isang object na 'List'.
  2. Susunod, ginagamit namin ang loop na 'para sa' upang ulitin ang listahan at gamitin ang paraan ng addDays() upang magdagdag ng 10 araw sa 'Petsa ng Pagtatapos.'
  3. Panghuli, ginagamit namin ang pahayag na 'i-update ang DML' upang i-update ang 'Petsa ng Pagtatapos' sa object na 'Kampanya.'
// Return Name at EndDate mula sa Campaign gamit ang SOQL

Listahan query1 = [PUMILI ng Pangalan,EndDate MULA SA Campaign WHERE Name = 'Linux Hint Posts'];

// Magdagdag ng 10 araw sa EndDate gamit ang addDays() na paraan

para sa(Kampanya i: query1){

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

}

// Gamitin ang update DML para i-update ang EndDate

i-update ang query1;

system.debug(query1);

Output:

Ang nakaraang 'Petsa ng Pagtatapos' ay ika-5 ng Abril. Pagkatapos magdagdag ng 10 araw dito, ang 'Petsa ng Pagtatapos' ay Abril 15 na ngayon.

Maaari din naming tingnan sa tab na 'Kampanya'. Bumalik at i-refresh ang page. Makikita mo na ang 'Petsa ng Pagtatapos' ay na-update.

Halimbawa 2:

Gamitin natin ang paraan ng addMonths() para magdagdag ng 3 buwan sa umiiral na 'Petsa ng Pagtatapos.'

// Return Name at EndDate mula sa Campaign gamit ang SOQL

Listahan query1 = [PUMILI ng Pangalan,EndDate MULA SA Campaign WHERE Name = 'Linux Hint Posts'];

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

// Magdagdag ng 3 buwan sa EndDate gamit ang addMonths() na paraan

para sa(Kampanya i: query1){

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

}

// Gamitin ang update DML para i-update ang EndDate

i-update ang query1;

system.debug('Na-update: '+query1);

Output:

Ang nakaraang buwan sa 'Petsa ng Pagtatapos' ay Abril. Pagkatapos magdagdag ng 3 buwan, Hulyo na ngayon.

Halimbawa 3:

Gamitin natin ang paraan ng addYears() para magdagdag ng 3 taon sa kasalukuyang 'Petsa ng Pagtatapos'.

// Return Name at EndDate mula sa Campaign gamit ang SOQL

Listahan query1 = [PUMILI ng Pangalan,EndDate MULA SA Campaign WHERE Name = 'Linux Hint Posts'];

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

// Magdagdag ng 3 taon sa EndDate gamit ang addYears() method

para sa(Kampanya i: query1){

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

}

// Gamitin ang update DML para i-update ang EndDate

i-update ang query1;

system.debug('Na-update: '+query1);

Output:

Pagkatapos magdagdag ng 3 taon sa 'Petsa ng Pagtatapos', ang na-update na taon ay 2026.

Konklusyon

Ang pag-format ng petsa sa Salesforce Apex ay medyo simple. Bilang bahagi ng tutorial na ito, natutunan namin kung paano i-convert ang 'Date' mula sa 'String' na format sa 'Date' gamit ang valueOf() method na available sa Apex 'Date' Class. Kung gusto mong i-convert pabalik ang petsa sa string, ginagamit namin ang format() at mga katangian ng petsa tulad ng day(), month() at year(). Sa wakas, tinapos namin ang gabay na ito sa pamamagitan ng pagtalakay sa pagpapatakbo ng DML sa object ng Salesforce na “Campaign” para i-update ang “End Date” gamit ang addDays(), addMonths(), at addYears() na mga pamamaraan na may magkakahiwalay na halimbawa.