Salesforce Apex - তারিখ বিন্যাস

Salesforce Apex Tarikha Bin Yasa



কাস্টমার রিলেশনশিপ ম্যানেজমেন্টে (CRM) অ্যাকাউন্টস/পরিচিতিতে গ্রাহকদের বিবরণ ট্র্যাক করা খুবই গুরুত্বপূর্ণ। তারিখের উপর ভিত্তি করে, ক্রয়, উদ্ধৃতি এবং পরিষেবার মতো সমস্ত প্রক্রিয়া ঘটে। আসুন দেখি কিভাবে Salesforce এ স্ট্রিং থেকে তারিখ তৈরি করা যায় এবং তারিখটিকে স্ট্রিংয়ে রূপান্তর করা যায়। এই টিউটোরিয়ালের অংশ হিসাবে, আমরা উদাহরণ সহ দিন, বছর, মাস ইত্যাদি যোগ করার মতো ফর্ম্যাট করা তারিখে প্রয়োগ করা পদ্ধতিগুলিও দেখব।

এপেক্স ডেট ক্লাস

তারিখ শ্রেণী আদিম সমস্ত তারিখ পদ্ধতি সমর্থন করে। এটি 'সিস্টেম' নামস্থান ব্যবহার করে। স্ট্রিংকে ডেট ফরম্যাটে রূপান্তর করতে আমরা এই ক্লাস থেকে valueOf() পদ্ধতি ব্যবহার করতে পারি। তারিখ ফরম্যাট করার পর, আমরা এই ফর্ম্যাট করা তারিখে দিন, মাস, বছর, ect. যোগ করার জন্য কিছু পদ্ধতি প্রয়োগ করি যা এই তারিখের ক্লাসেও পাওয়া যায়।







প্রথমে, আমরা দেখব কিভাবে Salesforce Apex-এ valueOf() পদ্ধতি ব্যবহার করে স্ট্রিংকে ডেটে রূপান্তর করা যায়।



Date.valueOf()

Apex-এ valueOf() 'তারিখ' ক্লাসে পাওয়া যায় যা স্ট্রিংটিকে একটি আর্গুমেন্ট হিসেবে নেয় যা নির্দিষ্ট স্ট্রিংকে তারিখ বিন্যাসে রূপান্তর করে। ইনপুট স্ট্রিং (প্যারামিটার) তিনটি বৈশিষ্ট্য অন্তর্ভুক্ত করে – বছর, মাস এবং দিন। এই তিনটিই একত্রিত/সংযুক্ত এবং পদ্ধতিতে পাস করা হয়।



সিনট্যাক্স: ValueOf()

ইতিমধ্যে উল্লিখিত হিসাবে, আমাদের 'তারিখ' শ্রেণীর একটি ভেরিয়েবল ঘোষণা করতে হবে এবং এতে স্ট্রিংটি পাস করতে হবে।





তারিখ date_variable= date.valueOf(string_date_format);

উদাহরণ:

ধাপ 1:

একটি স্ট্রিং আছে যা 'বছর-মাস-দিন' ধারণ করে।

// বছর, মাস এবং দিন একে একে ঘোষণা করুন

স্ট্রিং ইয়ার = '2023';

স্ট্রিং মাস = '4';

স্ট্রিং ডে = '5';

// একটি স্ট্রিং মধ্যে তাদের সব সংযুক্ত করুন

স্ট্রিং স্ট্রিং_টাইপ = বছর + '-' + মাস + '-' + দিন;

system.debug(string_type);

আউটপুট:



ধাপ ২:

এখন, অ্যাপেক্স 'তারিখ' ক্লাস থেকে valueOf() পদ্ধতি ব্যবহার করে আগের 'তারিখ' স্ট্রিংটিকে 'তারিখ' এ রূপান্তর করুন।

// স্ট্রিং-তারিখকে তারিখে রূপান্তর করুন

তারিখ রূপান্তরিত_তারিখ = date.valueOf(string_type);

system.debug(converted_date);

আউটপুট:

আমরা দেখতে পাচ্ছি যে 'তারিখ' এ রূপান্তর করার পরে, এটি স্বয়ংক্রিয়ভাবে তারিখটি তারিখের সময় বিন্যাসে ফেরত দেয়। এটি সময়কে বিবেচনা করবে না (ঘন্টা:মিনিট:সেকেন্ড) এমনকি যদি আপনি এইগুলিকে valueOf() পদ্ধতিতে পাস করেন। ফিরে আসা ফর্ম্যাট হল YYYY-MM-DD HH:MM:SS৷

তারিখটিকে স্ট্রিং-এ রূপান্তর করুন

'তারিখ' কে 'স্ট্রিং' এ রূপান্তর করার দুটি উপায় রয়েছে। Apex দ্বারা সমর্থিত একটি উপায় হল format() পদ্ধতি ব্যবহার করা। অন্য উপায় হ'ল ম্যানুয়ালি 'তারিখ' বৈশিষ্ট্যগুলি (বছর, মাস এবং দিন) বের করা এবং সেগুলিকে স্ট্রিংয়ে সংযুক্ত করা। আসুন একের পর এক তাদের দিকে তাকাই।

1. বিন্যাস()

ফর্ম্যাট() পদ্ধতিটি অ্যাপেক্সের 'তারিখ' ক্লাসে উপলব্ধ যা 'তারিখ' কে 'M/D/YYYY' বিন্যাসে স্ট্রিং-এ রূপান্তর করে। আমরা এই পদ্ধতিতে একটি প্যারামিটার হিসাবে নির্দিষ্ট বিন্যাস পাস করতে পারি। নির্দিষ্ট ফরম্যাট হল ডিফল্ট ফরম্যাট।

বাক্য গঠন:

input_date.format(“format_type”)

উদাহরণ:

আগের উদাহরণটি বিবেচনা করুন এবং ফর্ম্যাট() পদ্ধতি ব্যবহার করে 'তারিখ' কে 'স্ট্রিং' এ রূপান্তর করুন। আমরা ফরম্যাট() পদ্ধতিতে কোনো নির্দিষ্ট বিন্যাস প্রদান করছি না।

// বছর, মাস এবং দিন একে একে ঘোষণা করুন

স্ট্রিং ইয়ার = '2023';

স্ট্রিং মাস = '4';

স্ট্রিং ডে = '5';

// একটি স্ট্রিং মধ্যে তাদের সব সংযুক্ত করুন

স্ট্রিং স্ট্রিং_টাইপ = বছর + '-' + মাস + '-' + দিন;

// স্ট্রিং-তারিখকে তারিখে রূপান্তর করুন

তারিখ রূপান্তরিত_তারিখ = date.valueOf(string_type);

system.debug(converted_date);

// বিন্যাস()

system.debug(converted_date.format());

আউটপুট:

2. তারিখ ক্লাস পদ্ধতি ব্যবহার করা

এই পরিস্থিতিতে, আমরা অ্যাপেক্স 'তারিখ' ক্লাসে উপলব্ধ পদ্ধতিগুলি ব্যবহার করে 'তারিখ' থেকে আলাদাভাবে বছর, মাস এবং দিন বের করি। এর পরে, আমরা 'স্ট্রিং' ফরম্যাটে 'তারিখ' ফেরত দিতে এই তিনটিকে সংযুক্ত করি।

  1. দিন() - এই পদ্ধতিটি 'তারিখ' থেকে তারিখ বের করতে ব্যবহৃত হয়। এটি পূর্ণসংখ্যা প্রদান করে যা তারিখটি নির্দিষ্ট করে।
  2. মাস() - এই পদ্ধতিটি 'তারিখ' থেকে মাস বের করতে ব্যবহৃত হয়। এটি পূর্ণসংখ্যা প্রদান করে যা মাসের সংখ্যা নির্দিষ্ট করে। আমরা জানুয়ারী 1, ফেব্রুয়ারি 2 হিসাবে উল্লেখ করতে পারি। 12 ডিসেম্বর।
  3. বছর() - এই পদ্ধতিটি 'তারিখ' থেকে বছর বের করতে ব্যবহৃত হয়। এটি একটি চার-সংখ্যার বিন্যাসে বছর ফেরত দেয়।

বাক্য গঠন:

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

উদাহরণ:

'YYYY-M-D' ফরম্যাটে 'তারিখ' কে 'স্ট্রিং' এ রূপান্তর করুন।

// বছর, মাস এবং দিন একে একে ঘোষণা করুন

স্ট্রিং ইয়ার = '2023';

স্ট্রিং মাস = '4';

স্ট্রিং ডে = '5';

// একটি স্ট্রিং মধ্যে তাদের সব সংযুক্ত করুন

স্ট্রিং স্ট্রিং_টাইপ = বছর + '-' + মাস + '-' + দিন;

// স্ট্রিং-তারিখকে তারিখে রূপান্তর করুন

তারিখ রূপান্তরিত_তারিখ = date.valueOf(string_type);

system.debug(converted_date);

// তারিখকে স্ট্রিং-এ রূপান্তর করুন

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

আউটপুট:

ব্যবহারিক উদাহরণ:

আসুন দেখি কিভাবে 'তারিখ' আপডেট করতে হয় যেমন সেলসফোর্স অবজেক্টে বিদ্যমান তারিখে দিন, বছর এবং মাস যোগ করা। তিনটি পদ্ধতিই একটি আর্গুমেন্ট হিসাবে 'n' পূর্ণসংখ্যা নেয়।

1. দিন যোগ করুন()

বিদ্যমান তারিখে দিন যোগ করতে, অ্যাপেক্স addDays() পদ্ধতি সমর্থন করে যা 'তারিখ' ক্লাসে উপলব্ধ।

2. মাস যোগ করুন()

বিদ্যমান তারিখে মাস যোগ করার জন্য, Apex addMonths() পদ্ধতিকে সমর্থন করে যা 'তারিখ' ক্লাসে উপলব্ধ।

3. বছর যোগ করুন()

বিদ্যমান তারিখে বছর যোগ করতে, Apex addYears() পদ্ধতিকে সমর্থন করে যা 'তারিখ' ক্লাসে উপলব্ধ।

বাক্য গঠন:

আসুন এই তিনটি পদ্ধতির জন্য সিনট্যাক্স দেখি। এখানে, 'n' প্রজাতি পূর্ণসংখ্যার মান।

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

উদাহরণে যাওয়ার আগে, নিম্নলিখিতগুলি বিবেচনা করুন:

  1. সেলসফোর্সে লগইন করুন এবং 'অ্যাপ লঞ্চার' এ যান এবং ট্যাবে 'প্রচারণা' অনুসন্ধান করুন। এখানে, আমরা 'প্রচারের নাম' এবং 'শেষ তারিখ' সন্নিবেশ করি।

  1. 'প্রচারণা' নির্বাচন করুন এবং 'নতুন' এ ক্লিক করুন।

  1. একটি পপআপ প্রচারাভিযানে তথ্য সন্নিবেশ প্রদর্শিত হবে. 'প্রচারের নাম' এর অধীনে 'লিনাক্স ইঙ্গিত পোস্ট' যোগ করুন এবং 4/5/2023 হিসাবে 'শেষ তারিখ' সেট করুন। তারপর, 'সংরক্ষণ করুন' এ ক্লিক করুন।

আমরা রেকর্ড নিয়ে প্রস্তুত। (প্রকার - সম্মেলন এবং স্থিতি - পরিকল্পিত স্বয়ংক্রিয়ভাবে আসবে। এটি ছেড়ে দিন)। ডেভেলপার কনসোলে বেনামী উইন্ডোটি খুলুন।

উদাহরণ 1:

'ক্যাম্পেন' অবজেক্টে বিদ্যমান 'শেষ তারিখ'-এ 10 দিন যোগ করতে addDays() পদ্ধতি ব্যবহার করা যাক।

  1. এটি করার জন্য, আমাদের প্রথমে 'প্রচারণা' অবজেক্ট থেকে রেকর্ড পেতে SOQL কোয়েরি ব্যবহার করতে হবে এবং এই রেকর্ডটিকে একটি 'তালিকা' অবজেক্টে সংরক্ষণ করতে হবে।
  2. এরপরে, আমরা তালিকাটি পুনরাবৃত্তি করতে “for” লুপ ব্যবহার করি এবং “শেষ তারিখ”-এ 10 দিন যোগ করতে addDays() পদ্ধতি ব্যবহার করি।
  3. অবশেষে, আমরা 'প্রচারণা' অবজেক্টে 'শেষ তারিখ' আপডেট করতে 'আপডেট ডিএমএল' বিবৃতি ব্যবহার করি।
// SOQL ব্যবহার করে ক্যাম্পেইন থেকে নাম এবং শেষ তারিখ ফেরত দিন

তালিকা query1 = [নাম নির্বাচন করুন, ক্যাম্পেইনের শেষ তারিখ যেখানে নাম = 'লিনাক্স ইঙ্গিত পোস্ট'];

// addDays() পদ্ধতি ব্যবহার করে শেষ তারিখে 10 দিন যোগ করুন

জন্য (প্রচার i: query1){

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

}

// শেষ তারিখ আপডেট করতে আপডেট ডিএমএল ব্যবহার করুন

আপডেট query1;

system.debug(query1);

আউটপুট:

আগের 'শেষ তারিখ' হল 5ই এপ্রিল৷ এতে 10 দিন যোগ করার পর, 'শেষ তারিখ' এখন 15 এপ্রিল।

আমরা 'প্রচারণা' ট্যাবেও চেক করতে পারি। ফিরে যান এবং পৃষ্ঠাটি রিফ্রেশ করুন। আপনি দেখতে পাচ্ছেন যে 'শেষ তারিখ' আপডেট হয়েছে৷

উদাহরণ 2:

চলুন বিদ্যমান 'শেষ তারিখ'-এ 3 মাস যোগ করতে addMonths() পদ্ধতি ব্যবহার করি।

// SOQL ব্যবহার করে ক্যাম্পেইন থেকে নাম এবং শেষ তারিখ ফেরত দিন

তালিকা query1 = [নাম নির্বাচন করুন, ক্যাম্পেইনের শেষ তারিখ যেখানে নাম = 'লিনাক্স ইঙ্গিত পোস্ট'];

system.debug('প্রকৃত: '+query1);

// addMonths() পদ্ধতি ব্যবহার করে শেষ তারিখে 3 মাস যোগ করুন

জন্য (প্রচার i: query1){

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

}

// শেষ তারিখ আপডেট করতে আপডেট ডিএমএল ব্যবহার করুন

আপডেট query1;

system.debug('আপডেট করা হয়েছে: '+query1);

আউটপুট:

'শেষ তারিখ' এর আগের মাস এপ্রিল। ৩ মাস যোগ করার পর এখন জুলাই।

উদাহরণ 3:

বর্তমান 'শেষ তারিখ'-এ 3 বছর যোগ করতে addYears() পদ্ধতি ব্যবহার করা যাক।

// SOQL ব্যবহার করে ক্যাম্পেইন থেকে নাম এবং শেষ তারিখ ফেরত দিন

তালিকা query1 = [নাম নির্বাচন করুন, ক্যাম্পেইনের শেষ তারিখ যেখানে নাম = 'লিনাক্স ইঙ্গিত পোস্ট'];

system.debug('প্রকৃত: '+query1);

// addYears() পদ্ধতি ব্যবহার করে শেষ তারিখে 3 বছর যোগ করুন

এর জন্য (প্রচারণা i: query1){

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

}

// শেষ তারিখ আপডেট করতে আপডেট ডিএমএল ব্যবহার করুন

আপডেট query1;

system.debug('আপডেট করা হয়েছে: '+query1);

আউটপুট:

“শেষ তারিখ”-এ 3 বছর যোগ করার পর, আপডেট করা বছর হল 2026।

উপসংহার

Salesforce Apex-এ তারিখ ফর্ম্যাট করা বেশ সহজ। এই টিউটোরিয়ালের অংশ হিসাবে, আমরা শিখেছি কিভাবে 'তারিখ' কে 'স্ট্রিং' ফরম্যাট থেকে 'তারিখ' এ রূপান্তর করতে হয় ভ্যালু অফ() পদ্ধতি ব্যবহার করে যা অ্যাপেক্স 'তারিখ' ক্লাসে পাওয়া যায়। আপনি যদি তারিখটিকে স্ট্রিং-এ রূপান্তর করতে চান, আমরা ফর্ম্যাট() এবং তারিখের বৈশিষ্ট্যগুলি যেমন day(), মাস() এবং বছর() ব্যবহার করি। অবশেষে, আমরা আলাদা উদাহরণ সহ addDays(), addMonths(), এবং addYears() পদ্ধতি ব্যবহার করে 'শেষ তারিখ' আপডেট করার জন্য Salesforce 'প্রচারণা' অবজেক্টে DML অপারেশন নিয়ে আলোচনা করে এই নির্দেশিকাটি শেষ করেছি।