Salesforce Apex – Format Tarikh

Salesforce Apex Format Tarikh



Mengesan butiran pelanggan dalam Akaun/Kenalan adalah sangat penting dalam Pengurusan Perhubungan Pelanggan (CRM). Berdasarkan tarikh, semua proses seperti pembelian, sebut harga dan servis berlaku. Mari lihat cara membuat tarikh daripada rentetan dalam Salesforce dan menukar tarikh itu kepada rentetan. Sebagai sebahagian daripada tutorial ini, kami juga akan melihat kaedah yang digunakan pada tarikh yang diformatkan seperti menambah hari, tahun, bulan, dsb., dengan contoh.

Kelas Tarikh Puncak

Kelas tarikh menyokong semua kaedah tarikh yang primitif. Ia menggunakan ruang nama 'Sistem'. Kita boleh menggunakan kaedah valueOf() daripada kelas ini untuk menukar rentetan kepada format tarikh. Selepas memformat tarikh, kami menggunakan beberapa kaedah untuk menambah hari, bulan, tahun, dll., pada tarikh yang diformat ini menggunakan beberapa kaedah yang juga tersedia dalam kelas tarikh ini.







Mula-mula, kita akan melihat cara menukar rentetan kepada tarikh menggunakan kaedah valueOf() dalam Salesforce Apex.



Date.valueOf()

ValueOf() dalam Apex tersedia dalam kelas 'Date' yang mengambil rentetan sebagai hujah yang menukar rentetan yang ditentukan ke dalam format tarikh. Rentetan input (parameter) termasuk tiga atribut - tahun, bulan dan hari. Ketiga-tiga ini digabungkan/disatukan dan diserahkan kepada kaedah.



Sintaks: ValueOf()

Seperti yang telah disebutkan, kita perlu mengisytiharkan pembolehubah kelas 'Tarikh' dan lulus rentetan kepadanya.





Date date date_variable= date.valueOf(string_date_format);

Contoh:

Langkah 1:

Mari kita mempunyai rentetan yang memegang 'Tahun-Bulan-Hari'.

// Isytihar tahun, bulan dan hari satu persatu

Tahun Rentetan = '2023';

Bulan Rentetan = '4';

Hari Rentetan = '5';

// Gabungkan kesemuanya menjadi rentetan

String string_type = Tahun + '-' + Bulan + '-' + Hari;

system.debug(string_type);

Pengeluaran:



Langkah 2:

Sekarang, tukar rentetan 'Tarikh' sebelumnya kepada 'Tarikh' menggunakan kaedah valueOf() daripada kelas 'Tarikh' Apex.

// Tukar string-Date ke Date

Tarikh_tukar_tarikh = date.valueOf(string_type);

system.debug(tarikh_tukar);

Pengeluaran:

Kita dapat melihat bahawa selepas menukar kepada 'Tarikh', ia secara automatik mengembalikan tarikh dalam format DateTime. Ia tidak akan mempertimbangkan Masa (Jam:Minutes:Secons) walaupun anda menghantarnya kepada kaedah valueOf(). Format yang dikembalikan ialah YYYY-MM-DD HH:MM:SS.

Tukar Tarikh kepada Rentetan

Terdapat dua cara untuk menukar 'Tarikh' kepada 'String'. Satu cara yang disokong oleh Apex ialah menggunakan kaedah format(). Cara lain ialah mengekstrak atribut 'Tarikh' (tahun, bulan dan hari) secara manual dan menggabungkannya ke dalam rentetan. Mari kita lihat mereka satu persatu.

1. Format()

Kaedah format() tersedia dalam kelas 'Tarikh' di Apex yang menukarkan 'Tarikh' kepada rentetan dalam format 'M/D/YYYY'. Kami juga boleh menghantar format yang ditentukan sebagai parameter kepada kaedah ini. Format yang ditentukan ialah format lalai.

Sintaks:

input_date.format(“format_type”)

Contoh:

Mari kita pertimbangkan contoh sebelumnya dan tukar semula 'Tarikh' kepada 'String' menggunakan kaedah format(). Kami tidak menyediakan sebarang format khusus kepada kaedah format().

// Isytihar tahun, bulan dan hari satu persatu

Tahun Rentetan = '2023';

Bulan Rentetan = '4';

Hari Rentetan = '5';

// Gabungkan kesemuanya menjadi rentetan

String string_type = Tahun + '-' + Bulan + '-' + Hari;

// Tukar string-Date ke Date

Tarikh_tukar_tarikh = date.valueOf(string_type);

system.debug(tarikh_tukar);

// format()

system.debug(converted_date.format());

Pengeluaran:

2. Menggunakan Kaedah Kelas Tarikh

Dalam senario ini, kami mengekstrak tahun, bulan dan hari secara berasingan daripada 'Tarikh' menggunakan kaedah yang tersedia dalam kelas 'Tarikh' Apex. Seterusnya, kami menggabungkan ketiga-tiga ini untuk mengembalikan 'Tarikh' dalam format 'String'.

  1. hari() – Kaedah ini digunakan untuk mengekstrak tarikh daripada “Tarikh”. Ia mengembalikan integer yang menentukan tarikh.
  2. bulan() – Kaedah ini digunakan untuk mengekstrak bulan daripada “Tarikh”. Ia mengembalikan integer yang menentukan nombor bulan. Kita boleh merujuk kepada Januari sebagai 1, Februari sebagai 2…. Disember sebagai 12.
  3. tahun() – Kaedah ini digunakan untuk mengekstrak tahun daripada “Tarikh”. Ia mengembalikan tahun dalam format empat digit.

Sintaks:

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

Contoh:

Tukar semula 'Tarikh' kepada 'String' dalam format 'YYYY-M-D'.

// Isytihar tahun, bulan dan hari satu persatu

Tahun Rentetan = '2023';

Bulan Rentetan = '4';

Hari Rentetan = '5';

// Gabungkan kesemuanya menjadi rentetan

String string_type = Tahun + '-' + Bulan + '-' + Hari;

// Tukar string-Date ke Date

Tarikh_tukar_tarikh = date.valueOf(string_type);

system.debug(tarikh_tukar);

// Tukar Tarikh kepada Rentetan

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

Pengeluaran:

Contoh Praktikal:

Mari lihat cara mengemas kini 'Tarikh' seperti menambah hari, tahun dan bulan pada tarikh sedia ada dalam objek Salesforce. Ketiga-tiga kaedah mengambil integer 'n' sebagai hujah.

1. addDays()

Untuk menambah hari pada tarikh sedia ada, Apex menyokong kaedah addDays() yang tersedia dalam kelas 'Tarikh'.

2. addMonths()

Untuk menambah bulan pada tarikh sedia ada, Apex menyokong kaedah addMonths() yang tersedia dalam kelas 'Tarikh'.

3. addYears()

Untuk menambah tahun pada tarikh sedia ada, Apex menyokong kaedah addYears() yang tersedia dalam kelas 'Tarikh'.

Sintaks:

Mari lihat sintaks untuk ketiga-tiga kaedah ini. Di sini, spesis 'n' nilai integer.

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

Sebelum pergi ke contoh, pertimbangkan perkara berikut:

  1. Log masuk ke Salesforce dan pergi ke 'Pelancar Apl' dan cari 'Kempen' dalam tab. Di sini, kami memasukkan 'Nama Kempen' dan 'Tarikh Tamat'.

  1. Pilih 'Kempen' dan klik pada 'Baharu'.

  1. Pop timbul muncul untuk memasukkan data ke dalam kempen. Tambah 'Siaran Petunjuk Linux' di bawah 'Nama Kempen' dan tetapkan 'Tarikh Tamat' sebagai 4/5/2023. Kemudian, klik pada 'Simpan'.

Kami bersedia dengan rekod. (Jenis – Persidangan dan Status – Dirancang akan datang secara automatik. Biarkan itu). Mari buka tetingkap tanpa nama dalam konsol pembangun.

Contoh 1:

Mari gunakan kaedah addDays() untuk menambah 10 hari pada 'Tarikh Tamat' sedia ada dalam objek 'Kempen'.

  1. Untuk melakukan ini, kita perlu menggunakan Pertanyaan SOQL untuk mendapatkan rekod daripada objek 'Kempen' dan menyimpan rekod ini dalam objek 'Senarai'.
  2. Seterusnya, kami menggunakan gelung 'untuk' untuk mengulangi senarai dan menggunakan kaedah addDays() untuk menambah 10 hari pada 'Tarikh Tamat'.
  3. Akhir sekali, kami menggunakan pernyataan 'kemas kini DML' untuk mengemas kini 'Tarikh Tamat' dalam objek 'Kempen'.
// Kembalikan Nama dan Tarikh Akhir daripada Kempen menggunakan SOQL

Senarai pertanyaan1 = [PILIH Nama,TarikhTamat DARI Kempen WHERE Nama = 'Catatan Petunjuk Linux'];

// Tambah 10 hari pada EndDate menggunakan kaedah addDays().

untuk(Kempen i: pertanyaan1){

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

}

// Gunakan DML kemas kini untuk mengemas kini Tarikh Akhir

kemas kini pertanyaan1;

system.debug(query1);

Pengeluaran:

“Tarikh Tamat” sebelum ini ialah 5 April. Selepas menambah 10 hari padanya, 'Tarikh Tamat' kini ialah 15 April.

Kami juga boleh menyemak dalam tab 'Kempen'. Berundur dan muat semula halaman. Anda boleh melihat bahawa 'Tarikh Tamat' dikemas kini.

Contoh 2:

Mari gunakan kaedah addMonths() untuk menambah 3 bulan pada 'Tarikh Tamat' sedia ada.

// Kembalikan Nama dan Tarikh Akhir daripada Kempen menggunakan SOQL

Senarai pertanyaan1 = [PILIH Nama,TarikhTamat DARI Kempen WHERE Nama = 'Catatan Petunjuk Linux'];

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

// Tambah 3 bulan pada EndDate menggunakan kaedah addMonths().

untuk(Kempen i: pertanyaan1){

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

}

// Gunakan DML kemas kini untuk mengemas kini Tarikh Akhir

kemas kini pertanyaan1;

system.debug('Dikemas kini: '+query1);

Pengeluaran:

Bulan sebelumnya dalam 'Tarikh Tamat' ialah April. Selepas menambah 3 bulan, kini bulan Julai.

Contoh 3:

Mari gunakan kaedah addYears() untuk menambah 3 tahun pada 'Tarikh Tamat' sedia ada.

// Kembalikan Nama dan Tarikh Akhir daripada Kempen menggunakan SOQL

Senarai pertanyaan1 = [PILIH Nama,TarikhTamat DARI Kempen WHERE Nama = 'Catatan Petunjuk Linux'];

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

// Tambah 3 tahun pada EndDate menggunakan kaedah addYears().

untuk(Kempen i: pertanyaan1){

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

}

// Gunakan DML kemas kini untuk mengemas kini Tarikh Akhir

kemas kini pertanyaan1;

system.debug('Dikemas kini: '+query1);

Pengeluaran:

Selepas menambah 3 tahun pada 'Tarikh Tamat', tahun yang dikemas kini ialah 2026.

Kesimpulan

Memformat tarikh dalam Salesforce Apex agak mudah. Sebagai sebahagian daripada tutorial ini, kami mempelajari cara menukar 'Tarikh' daripada format 'String' kepada 'Tarikh' menggunakan kaedah valueOf() yang tersedia dalam Kelas 'Tarikh' Apex. Jika anda ingin menukar kembali tarikh kepada rentetan, kami menggunakan format() dan atribut tarikh seperti hari(), bulan() dan tahun(). Akhir sekali, kami menamatkan panduan ini dengan membincangkan operasi DML pada objek 'Kempen' Salesforce untuk mengemas kini 'Tarikh Tamat' menggunakan kaedah addDays(), addMonths(), dan addYears() dengan contoh berasingan.