Salesforce Apex - تنسيق التاريخ

Salesforce Apex Tnsyq Altarykh



يعد تتبع تفاصيل العملاء في الحسابات / جهات الاتصال أمرًا مهمًا للغاية في إدارة علاقات العملاء (CRM). بناءً على التاريخ ، تحدث جميع العمليات مثل الشراء والاقتباس والخدمة. دعونا نلقي نظرة على كيفية إنشاء التاريخ من السلسلة في Salesforce وتحويل التاريخ إلى سلسلة. كجزء من هذا البرنامج التعليمي ، سنرى أيضًا الطرق التي يتم تطبيقها في التاريخ المنسق مثل إضافة أيام وسنوات وشهور وما إلى ذلك ، مع أمثلة.

فئة تاريخ القمة

تدعم فئة التاريخ جميع طرق التاريخ البدائية. يستخدم مساحة الاسم 'النظام'. يمكننا استخدام طريقة valueOf () من هذه الفئة لتحويل السلسلة إلى تنسيق تاريخ. بعد تنسيق التاريخ ، نطبق بعض الطرق لإضافة الأيام والشهور والسنوات وما إلى ذلك إلى هذا التاريخ المنسق باستخدام بعض الطرق المتوفرة أيضًا في فئة التاريخ هذه.







أولاً ، سنرى كيفية تحويل السلسلة إلى تاريخ باستخدام طريقة valueOf () في Salesforce Apex.



Date.valueOf ()

تتوفر القيمة valueOf () في Apex في فئة 'Date' التي تأخذ السلسلة كوسيطة تقوم بتحويل السلسلة المحددة إلى تنسيق التاريخ. تتضمن سلسلة الإدخال (المعلمة) ثلاث سمات - السنة والشهر واليوم. يتم دمج كل هذه الثلاثة / متسلسلة وتمريرها إلى الطريقة.



بناء الجملة: ValueOf ()

كما ذكرنا سابقًا ، نحتاج إلى الإعلان عن متغير من فئة 'التاريخ' وتمرير السلسلة إليه.





Date_variable = date.valueOf (string_date_format) ،

مثال:

الخطوة 1:

دعونا نحصل على سلسلة تحمل 'سنة - شهر - يوم'.

// أعلن السنة والشهر واليوم واحدًا تلو الآخر

سنة السلسلة = '2023' ؛

شهر السلسلة = '4' ؛

يوم السلسلة = '5' ؛

// اربطهم جميعًا في سلسلة

String string_type = Year + '-' + Month + '-' + Day؛

system.debug (سلسلة_نمط) ؛

انتاج:



الخطوة 2:

الآن ، قم بتحويل سلسلة 'Date' السابقة إلى 'Date' باستخدام طريقة valueOf () من فئة 'Date' Apex.

// تحويل السلسلة من التاريخ إلى التاريخ

التاريخ convert_date = date.valueOf (string_type) ؛

system.debug (تاريخ_ محوّل) ؛

انتاج:

يمكننا أن نرى أنه بعد التحويل إلى 'التاريخ' ، فإنه يقوم تلقائيًا بإرجاع التاريخ بتنسيق DateTime. لن يأخذ في الاعتبار الوقت (الساعات: الدقائق: الثواني) حتى إذا قمت بتمريرها إلى طريقة valueOf (). التنسيق الذي تم إرجاعه هو YYYY-MM-DD HH: MM: SS.

تحويل التاريخ إلى سلسلة

هناك طريقتان لتحويل 'التاريخ' إلى 'سلسلة'. إحدى الطرق التي يدعمها Apex هي استخدام طريقة format (). الطريقة الأخرى هي استخراج سمات 'التاريخ' يدويًا (السنة والشهر واليوم) وربطها في سلسلة. دعونا ننظر إليهم واحدًا تلو الآخر.

1. التنسيق ()

طريقة format () متاحة في فئة 'Date' في Apex والتي تحول 'Date' إلى سلسلة بتنسيق 'M / D / YYYY'. يمكننا أيضًا تمرير التنسيق المحدد كمعامل لهذه الطريقة. التنسيق المحدد هو التنسيق الافتراضي.

بناء الجملة:

input_date.format (“format_type”)

مثال:

لنفكر في المثال السابق ونعيد تحويل 'التاريخ' إلى 'سلسلة' باستخدام طريقة format (). نحن لا نقدم أي تنسيق محدد لطريقة التنسيق ().

// أعلن السنة والشهر واليوم واحدًا تلو الآخر

سنة السلسلة = '2023' ؛

شهر السلسلة = '4' ؛

يوم السلسلة = '5' ؛

// اربطهم جميعًا في سلسلة

String string_type = Year + '-' + Month + '-' + Day؛

// تحويل السلسلة من التاريخ إلى التاريخ

التاريخ convert_date = date.valueOf (string_type) ؛

system.debug (تاريخ_ محوّل) ؛

// شكل()

system.debug (convert_date.format ()) ؛

انتاج:

2. استخدام طريقة فئة التاريخ

في هذا السيناريو ، نستخرج السنة والشهر واليوم بشكل منفصل عن 'التاريخ' باستخدام الطرق المتاحة في فئة 'التاريخ' في Apex. بعد ذلك ، نقوم بتجميع هذه الثلاثة لإرجاع 'التاريخ' بتنسيق 'سلسلة'.

  1. يوم() - تستخدم هذه الطريقة لاستخراج التاريخ من 'التاريخ'. تقوم بإرجاع العدد الصحيح الذي يحدد التاريخ.
  2. شهر() - تستخدم هذه الطريقة لاستخراج الشهر من 'التاريخ'. تقوم بإرجاع العدد الصحيح الذي يحدد رقم الشهر. يمكننا أن نشير إلى 1 كانون الثاني (يناير) على أنه 2 شباط (فبراير)…. ديسمبر 12.
  3. سنة() - تستخدم هذه الطريقة لاستخراج السنة من 'التاريخ'. تقوم بإرجاع السنة بتنسيق مكون من أربعة أرقام.

بناء الجملة:

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

مثال:

قم بتحويل 'التاريخ' إلى 'السلسلة' مرة أخرى بتنسيق 'YYYY-M-D'.

// أعلن السنة والشهر واليوم واحدًا تلو الآخر

سنة السلسلة = '2023' ؛

شهر السلسلة = '4' ؛

يوم السلسلة = '5' ؛

// اربطهم جميعًا في سلسلة

String string_type = Year + '-' + Month + '-' + Day؛

// تحويل السلسلة من التاريخ إلى التاريخ

التاريخ convert_date = date.valueOf (string_type) ؛

system.debug (تاريخ_ محوّل) ؛

// تحويل التاريخ إلى سلسلة

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

انتاج:

أمثلة عملية:

دعونا نرى كيفية تحديث 'التاريخ' مثل إضافة أيام وسنوات وشهور إلى التاريخ الحالي في عناصر Salesforce. جميع الطرق الثلاثة تأخذ العدد الصحيح 'n' كوسيطة.

1. addDays ()

لإضافة أيام إلى التاريخ الحالي ، يدعم Apex طريقة addDays () المتوفرة في فئة 'التاريخ'.

2. addMonths ()

لإضافة أشهر إلى التاريخ الحالي ، يدعم Apex طريقة addMonths () المتوفرة في فئة 'Date'.

3. addYears ()

لإضافة سنوات إلى التاريخ الحالي ، تدعم Apex طريقة addYears () المتوفرة في فئة 'Date'.

بناء الجملة:

دعونا نلقي نظرة على بناء الجملة لهذه الطرق الثلاث. هنا ، 'n' الأنواع القيمة الصحيحة.

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

قبل الانتقال إلى المثال ، ضع في اعتبارك ما يلي:

  1. سجّل الدخول إلى Salesforce وانتقل إلى 'App Launcher' وابحث عن 'Campaign' في علامة التبويب. هنا ، نقوم بإدخال 'اسم الحملة' و 'تاريخ الانتهاء'.

  1. اختر 'الحملات' وانقر على 'جديد'.

  1. تظهر نافذة منبثقة لإدراج البيانات في الحملة. أضف 'منشورات تلميح Linux' تحت 'اسم الحملة' وحدد 'تاريخ الانتهاء' ليكون 4/5/2023. ثم انقر فوق 'حفظ'.

نحن جاهزون مع السجل. (النوع - المؤتمر والحالة - المخطط سيأتي تلقائيًا. اترك ذلك). دعونا نفتح النافذة المجهولة في وحدة تحكم المطور.

مثال 1:

دعنا نستخدم طريقة addDays () لإضافة 10 أيام إلى 'تاريخ الانتهاء' الحالي في كائن 'الحملة'.

  1. للقيام بذلك ، نحتاج أولاً إلى استخدام SOQL Query للحصول على السجل من كائن 'Campaign' وتخزين هذا السجل في كائن 'List'.
  2. بعد ذلك ، نستخدم حلقة 'for' لتكرار القائمة واستخدام طريقة addDays () لإضافة 10 أيام إلى 'تاريخ الانتهاء'.
  3. أخيرًا ، نستخدم عبارة 'تحديث DML' لتحديث 'تاريخ الانتهاء' في كائن 'الحملة'.
// اسم الإرجاع وتاريخ الانتهاء من الحملة باستخدام SOQL

قائمة query1 = [SELECT Name، EndDate FROM Campaign WHERE Name = 'Linux Hint Posts']؛

// أضف 10 أيام إلى تاريخ الانتهاء باستخدام طريقة addDays ()

لـ (الحملة i: query1) {

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

}

// استخدم تحديث DML لتحديث تاريخ الانتهاء

استعلام التحديث 1؛

system.debug (استعلام 1) ؛

انتاج:

'تاريخ الانتهاء' السابق هو 5 أبريل. بعد إضافة 10 أيام إليه ، فإن 'تاريخ الانتهاء' هو الآن 15 أبريل.

يمكننا أيضًا التحقق من علامة التبويب 'الحملة'. ارجع للخلف وقم بتحديث الصفحة. يمكنك أن ترى أنه تم تحديث 'تاريخ الانتهاء'.

المثال 2:

لنستخدم طريقة addMonths () لإضافة 3 أشهر إلى 'تاريخ الانتهاء' الحالي.

// اسم الإرجاع وتاريخ الانتهاء من الحملة باستخدام SOQL

قائمة query1 = [SELECT Name، EndDate FROM Campaign WHERE Name = 'Linux Hint Posts']؛

system.debug ('فعلي:' + استعلام 1) ؛

// أضف 3 أشهر إلى تاريخ الانتهاء باستخدام طريقة addMonths ()

لـ (الحملة i: query1) {

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

}

// استخدم تحديث DML لتحديث تاريخ الانتهاء

استعلام التحديث 1؛

system.debug ('محدث:' + query1) ؛

انتاج:

الشهر السابق في 'تاريخ الانتهاء' هو أبريل. بعد إضافة 3 أشهر ، هو الآن يوليو.

المثال 3:

دعنا نستخدم طريقة addYears () لإضافة 3 سنوات إلى 'تاريخ الانتهاء' الحالي.

// اسم الإرجاع وتاريخ الانتهاء من الحملة باستخدام SOQL

قائمة query1 = [SELECT Name، EndDate FROM Campaign WHERE Name = 'Linux Hint Posts']؛

system.debug ('فعلي:' + استعلام 1) ؛

// أضف 3 سنوات إلى تاريخ الانتهاء باستخدام طريقة addYears ()

لـ (الحملة i: query1) {

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

}

// استخدم تحديث DML لتحديث تاريخ الانتهاء

استعلام التحديث 1؛

system.debug ('محدث:' + query1) ؛

انتاج:

بعد إضافة 3 سنوات إلى 'تاريخ الانتهاء' ، يكون العام المحدث هو 2026.

خاتمة

تنسيق التاريخ في Salesforce Apex بسيط للغاية. كجزء من هذا البرنامج التعليمي ، تعلمنا كيفية تحويل 'التاريخ' من تنسيق 'السلسلة' إلى تنسيق 'التاريخ' باستخدام طريقة valueOf () المتوفرة في فئة 'التاريخ' Apex. إذا كنت تريد تحويل التاريخ إلى سلسلة ، فإننا نستخدم التنسيق () وسمات التاريخ مثل اليوم () والشهر () والسنة (). أخيرًا ، أنهينا هذا الدليل من خلال مناقشة عملية DML على عنصر 'الحملة' في Salesforce لتحديث 'تاريخ الانتهاء' باستخدام طرق addDays () و addMonths () و addYears () مع أمثلة منفصلة.