Salesforce Apex – Tarih Biçimi

Salesforce Apex Tarih Bicimi



Müşterilerin Hesaplar/Kişiler'deki detaylarının takibi Müşteri İlişkileri Yönetimi'nde (CRM) çok önemlidir. Tarihe bağlı olarak satın alma, teklif verme ve servis gibi tüm süreçler gerçekleşir. Salesforce'ta tarihin dizeden nasıl oluşturulacağına ve tarihin dizeye nasıl dönüştürüleceğine bakalım. Bu eğitimin bir parçası olarak, biçimlendirilen tarihte uygulanan gün, yıl, ay vb. yöntemleri de örneklerle göreceğiz.

Apex Tarih Sınıfı

Date sınıfı, ilkel olan tüm tarih yöntemlerini destekler. “Sistem” ad alanını kullanır. Dizeyi bir tarih biçimine dönüştürmek için bu sınıftan valueOf() yöntemini kullanabiliriz. Tarihi biçimlendirdikten sonra, bu tarih sınıfında da bulunan bazı yöntemleri kullanarak, biçimlendirilen tarihe gün, ay, yıl vb. eklemek için bazı yöntemler uygularız.







İlk önce, Salesforce Apex'te valueOf() yöntemini kullanarak dizeyi tarihe nasıl dönüştüreceğimizi göreceğiz.



Date.valueOf()

Apex'teki valueOf(), belirtilen diziyi tarih biçimine dönüştüren bir argüman olarak dizeyi alan 'Date' sınıfında mevcuttur. Giriş dizisi (parametre) üç özellik içerir – yıl, ay ve gün. Bu üçünün tümü birleştirilir/birleştirilir ve yönteme iletilir.



Sözdizimi: ValueOf()

Daha önce de belirtildiği gibi, “Date” sınıfından bir değişken bildirmeli ve dizeyi ona iletmeliyiz.





Tarih date_variable= date.valueOf(string_date_format);

Örnek:

Aşama 1:

“Yıl-Ay-Gün”ü tutan bir dizimiz olsun.

// Yılı, ayı ve günü tek tek bildir

Dizi Yılı = '2023';

Dizi Ayı = '4';

Dize Günü = '5';

// Hepsini bir dizgede birleştir

String string_type = Yıl + '-' + Ay + '-' + Gün;

system.debug(string_type);

Çıktı:



Adım 2:

Şimdi Apex “Date” sınıfından valueOf() yöntemini kullanarak önceki “Date” dizesini “Date”e dönüştürün.

// string-Date'i Date'e dönüştür

Tarih converted_date = date.valueOf(string_type);

system.debug(converted_date);

Çıktı:

“Tarih”e dönüştürdükten sonra tarihi otomatik olarak DateTime formatında döndürdüğünü görebiliriz. Bunları valueOf() yöntemine iletseniz bile Zamanı (Saat:Dakika:Saniye) dikkate almaz. Döndürülen biçim YYYY-AA-GG SS:DD:SS şeklindedir.

Tarihi Dizeye Dönüştür

'Tarih'i 'Dize'ye dönüştürmenin iki yolu vardır. Apex tarafından desteklenen bir yol, format() yöntemini kullanmaktır. Diğer yol, 'Tarih' özniteliklerini (yıl, ay ve gün) manuel olarak çıkarmak ve bunları dizgede birleştirmektir. Onlara tek tek bakalım.

1. Biçim()

Apex'teki 'Date' sınıfında 'Date'i 'A/G/YYYY' biçimindeki dizgeye dönüştüren format() yöntemi mevcuttur. Belirtilen formatı da bu metoda parametre olarak iletebiliriz. Belirtilen biçim, varsayılan biçimdir.

Sözdizimi:

input_date.format(“format_type”)

Örnek:

Önceki örneği ele alalım ve format() yöntemini kullanarak 'Tarih'i 'Dize'ye dönüştürelim. format() yöntemine herhangi bir özel format sağlamıyoruz.

// Yılı, ayı ve günü tek tek bildir

Dizi Yılı = '2023';

Dizi Ayı = '4';

Dize Günü = '5';

// Hepsini bir dizgede birleştir

String string_type = Yıl + '-' + Ay + '-' + Gün;

// string-Date'i Date'e dönüştür

Tarih converted_date = date.valueOf(string_type);

system.debug(converted_date);

// biçim()

system.debug(converted_date.format());

Çıktı:

2. Tarih Sınıfı Yöntemini Kullanma

Bu senaryoda, Apex “Date” sınıfındaki mevcut yöntemleri kullanarak yıl, ay ve günü “Tarih” ten ayrı ayrı çıkarıyoruz. Ardından, 'Tarih' i 'Dize' biçiminde döndürmek için bu üçünü birleştiriyoruz.

  1. gün() – Bu yöntem, tarihi “Tarih” ten çıkarmak için kullanılır. Tarihi belirten tamsayıyı döndürür.
  2. ay() – Bu yöntem, ayı 'Tarih'ten çıkarmak için kullanılır. Ay numarasını belirten tamsayıyı döndürür. Ocak'ı 1, Şubat'ı 2 olarak adlandırabiliriz…. Aralık 12 olarak.
  3. yıl() – Bu yöntem, yılı 'Tarih'ten çıkarmak için kullanılır. Yılı dört basamaklı biçimde döndürür.

Sözdizimi:

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

Örnek:

“Tarih”i “YYYY-M-D” formatında “String”e geri çevirin.

// Yılı, ayı ve günü tek tek bildir

Dizi Yılı = '2023';

Dizi Ayı = '4';

Dize Günü = '5';

// Hepsini bir dizgede birleştir

String string_type = Yıl + '-' + Ay + '-' + Gün;

// string-Date'i Date'e dönüştür

Tarih converted_date = date.valueOf(string_type);

system.debug(converted_date);

// Tarihi Dizeye Dönüştür

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

Çıktı:

Pratik Örnekler:

Salesforce nesnelerinde var olan tarihe gün, yıl ve ay eklemek gibi 'Tarih'i nasıl güncelleyeceğimizi görelim. Her üç yöntem de “n” tamsayısını bağımsız değişken olarak alır.

1. gün ekle()

Mevcut tarihe gün eklemek için Apex, “Date” sınıfında bulunan addDays() yöntemini destekler.

2. ayları ekle()

Mevcut tarihe ay eklemek için Apex, 'Date' sınıfında bulunan addMonths() yöntemini destekler.

3.Yıl ekle()

Mevcut tarihe yıl eklemek için Apex, “Date” sınıfında bulunan addYears() yöntemini destekler.

Sözdizimi:

Bu üç yöntemin sözdizimine bakalım. Burada “n” tamsayı değerini belirtir.

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

Örneğe geçmeden önce aşağıdakileri göz önünde bulundurun:

  1. Salesforce'ta oturum açın ve 'Uygulama Başlatıcı'ya gidin ve sekmede 'Kampanya'yı arayın. Buraya “Kampanya Adı” ve “Bitiş Tarihi”ni giriyoruz.

  1. 'Kampanyalar'ı seçin ve 'Yeni'ye tıklayın.

  1. Verileri kampanyaya eklemek için bir açılır pencere görünür. 'Kampanya Adı' altına 'Linux İpucu Gönderileri' ekleyin ve 'Bitiş Tarihi'ni 4/5/2023 olarak ayarlayın. Ardından, 'Kaydet' üzerine tıklayın.

Kayıtla hazırız. (Tür – Konferans ve Durum – Planlandı otomatik olarak gelecek. Onu bırakın). Geliştirici konsolundaki anonim pencereyi açalım.

Örnek 1:

'Kampanya' nesnesindeki mevcut 'Bitiş Tarihi'ne 10 gün eklemek için addDays() yöntemini kullanalım.

  1. Bunu yapmak için öncelikle SOQL Sorgusunu kullanarak “Campaign” nesnesinden kaydı almamız ve bu kaydı bir “List” nesnesinde saklamamız gerekiyor.
  2. Ardından, listeyi yinelemek için 'for' döngüsünü kullanıyoruz ve 'Bitiş Tarihi'ne 10 gün eklemek için addDays() yöntemini kullanıyoruz.
  3. Son olarak, 'Campaign' nesnesindeki 'Bitiş Tarihi'ni güncellemek için 'update DML' ifadesini kullanıyoruz.
// SOQL kullanan Kampanyadan Ad ve Bitiş Tarihi döndür

Liste sorgu1 = [Kampanyadan Ad, Bitiş Tarihi SEÇİN WHERE Adı = 'Linux İpucu Gönderileri'];

// addDays() yöntemini kullanarak EndDate'e 10 gün ekleyin

for(Kampanya i: sorgu1){

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

}

// EndDate'i güncellemek için güncelleme DML'sini kullanın

güncelleme sorgusu1;

system.debug(sorgu1);

Çıktı:

Bir önceki “Bitiş Tarihi” 5 Nisan'dır. 10 gün eklendikten sonra “Bitiş Tarihi” artık 15 Nisan.

'Kampanya' sekmesinde de kontrol edebiliriz. Geri gidin ve sayfayı yenileyin. “Bitiş Tarihi”nin güncellendiğini görebilirsiniz.

Örnek 2:

Mevcut 'Bitiş Tarihi'ne 3 ay eklemek için addMonths() yöntemini kullanalım.

// SOQL kullanan Kampanyadan Ad ve Bitiş Tarihi döndür

Liste sorgu1 = [Kampanyadan Ad, Bitiş Tarihi SEÇİN WHERE Adı = 'Linux İpucu Gönderileri'];

system.debug('Gerçek: '+query1);

// addMonths() yöntemini kullanarak EndDate'e 3 ay ekleyin

for(Kampanya i: sorgu1){

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

}

// EndDate'i güncellemek için güncelleme DML'sini kullanın

güncelleme sorgusu1;

system.debug('Güncellendi: '+query1);

Çıktı:

“Bitiş Tarihi”nde bir önceki ay Nisan'dır. 3 ay ekledikten sonra artık Temmuz ayı.

Örnek 3:

Mevcut “Bitiş Tarihine” 3 yıl eklemek için addYears() yöntemini kullanalım.

// SOQL kullanan Kampanyadan Ad ve Bitiş Tarihi döndür

Liste sorgu1 = [Kampanyadan Ad, Bitiş Tarihi SEÇİN WHERE Adı = 'Linux İpucu Gönderileri'];

system.debug('Gerçek: '+query1);

// addYears() yöntemini kullanarak EndDate'e 3 yıl ekleyin

for(Kampanya i: sorgu1){

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

}

// EndDate'i güncellemek için güncelleme DML'sini kullanın

güncelleme sorgusu1;

system.debug('Güncellendi: '+query1);

Çıktı:

“Bitiş Tarihi”ne 3 yıl eklendikten sonra güncellenen yıl 2026.

Çözüm

Salesforce Apex'te tarihi biçimlendirmek oldukça basittir. Bu eğitimin bir parçası olarak, Apex “Date” Sınıfında bulunan valueOf() yöntemini kullanarak “Date” formatını “String” formatından “Date” formatına nasıl dönüştüreceğimizi öğrendik. Tarihi dizgeye geri dönüştürmek isterseniz, format() ve gün(), ay() ve yıl() gibi tarih özniteliklerini kullanırız. Son olarak, addDays(), addMonths() ve addYears() yöntemlerini kullanarak “Bitiş Tarihini” güncellemek için Salesforce “Campaign” nesnesindeki DML işlemini ayrı örneklerle ele alarak bu kılavuzu sonlandırdık.