सेल्सफोर्स एपेक्स - दिनांक प्रारूप

Selsaphorsa Epeksa Dinanka Prarupa



ग्राहक संबंध प्रबंधन (सीआरएम) में खातों/संपर्कों में ग्राहकों के विवरण को ट्रैक करना बहुत महत्वपूर्ण है। तिथि के आधार पर खरीदारी, कोटेशन और सर्विसिंग जैसी सभी प्रक्रियाएं होती हैं। आइए देखते हैं कि Salesforce में स्ट्रिंग से दिनांक कैसे बनाएं और दिनांक को स्ट्रिंग में कैसे बदलें। इस ट्यूटोरियल के भाग के रूप में, हम उन विधियों को भी देखेंगे जो स्वरूपित तिथि पर लागू होती हैं जैसे दिन, वर्ष, महीने आदि जोड़ना, उदाहरण के साथ।

शीर्ष तिथि वर्ग

दिनांक वर्ग आदिम सभी दिनांक विधियों का समर्थन करता है। यह 'सिस्टम' नामस्थान का उपयोग करता है। स्ट्रिंग को दिनांक स्वरूप में बदलने के लिए हम इस वर्ग से valueOf() विधि का उपयोग कर सकते हैं। तिथि को प्रारूपित करने के बाद, हम इस स्वरूपित तिथि में दिन, महीने, वर्ष आदि को जोड़ने के लिए कुछ विधियों का उपयोग करते हैं जो इस तिथि वर्ग में भी उपलब्ध हैं।







सबसे पहले, हम देखेंगे कि Salesforce एपेक्स में valueOf() विधि का उपयोग करके स्ट्रिंग को दिनांक में कैसे परिवर्तित किया जाए।



दिनांक.मूल्यऑफ़ ()

एपेक्स में वैल्यूऑफ () 'दिनांक' वर्ग में उपलब्ध है जो स्ट्रिंग को एक तर्क के रूप में लेता है जो निर्दिष्ट स्ट्रिंग को दिनांक प्रारूप में परिवर्तित करता है। इनपुट स्ट्रिंग (पैरामीटर) में तीन विशेषताएँ शामिल हैं - वर्ष, महीना और दिन। इन तीनों को संयुक्त/श्रृंखलाबद्ध किया जाता है और विधि को पास किया जाता है।



सिंटेक्स: ValueOf()

जैसा कि पहले ही उल्लेख किया गया है, हमें 'दिनांक' वर्ग का एक चर घोषित करने और उसमें स्ट्रिंग पास करने की आवश्यकता है।





दिनांक दिनांक_परिवर्तनीय = दिनांक। मान ऑफ़ (स्ट्रिंग_डेट_फॉर्मेट);

उदाहरण:

स्टेप 1:

चलो एक स्ट्रिंग है जो 'वर्ष-माह-दिन' रखती है।

// वर्ष, माह और दिन एक-एक करके घोषित करें

स्ट्रिंग वर्ष = '2023';

स्ट्रिंग माह = '4';

स्ट्रिंग डे = '5';

// उन सभी को एक तार में जोड़ दें

स्ट्रिंग string_type = वर्ष + '-' + महीना + '-' + दिन;

system.debug (string_type);

आउटपुट:



चरण दो:

अब, एपेक्स 'डेट' वर्ग से valueOf() पद्धति का उपयोग करके पिछली 'दिनांक' स्ट्रिंग को 'दिनांक' में बदलें।

// स्ट्रिंग-डेट को डेट में कन्वर्ट करें

दिनांक कनवर्ट_डेट = दिनांक.वैल्यूऑफ (स्ट्रिंग_टाइप);

system.debug (रूपांतरित_डेट);

आउटपुट:

हम देख सकते हैं कि 'दिनांक' में परिवर्तित होने के बाद, यह स्वचालित रूप से दिनांक को दिनांक समय प्रारूप में वापस कर देता है। यह समय (घंटे: मिनट: सेकेंड) पर विचार नहीं करेगा, भले ही आप इन्हें valueOf() विधि में पास कर दें। लौटाया गया प्रारूप YYYY-MM-DD HH:MM:SS है।

दिनांक को स्ट्रिंग में बदलें

'दिनांक' को 'स्ट्रिंग' में बदलने के दो तरीके हैं। एपेक्स द्वारा समर्थित एक तरीका प्रारूप() विधि का उपयोग कर रहा है। दूसरा तरीका 'दिनांक' विशेषताओं (वर्ष, माह और दिन) को मैन्युअल रूप से निकाल रहा है और उन्हें स्ट्रिंग में जोड़ रहा है। आइए उन्हें एक-एक करके देखें।

1. प्रारूप ()

प्रारूप () विधि एपेक्स में 'दिनांक' वर्ग में उपलब्ध है जो 'दिनांक' को 'एम/डी/वाईवाईवाईवाई' प्रारूप में स्ट्रिंग में परिवर्तित करती है। हम निर्दिष्ट प्रारूप को इस विधि के पैरामीटर के रूप में भी पास कर सकते हैं। निर्दिष्ट प्रारूप डिफ़ॉल्ट प्रारूप है।

वाक्य - विन्यास:

input_date.format ('format_type')

उदाहरण:

आइए पिछले उदाहरण पर विचार करें और प्रारूप () विधि का उपयोग करके 'दिनांक' को 'स्ट्रिंग' में वापस बदलें। हम प्रारूप () विधि को कोई विशिष्ट प्रारूप प्रदान नहीं कर रहे हैं।

// वर्ष, माह और दिन एक-एक करके घोषित करें

स्ट्रिंग वर्ष = '2023';

स्ट्रिंग माह = '4';

स्ट्रिंग डे = '5';

// उन सभी को एक तार में जोड़ दें

स्ट्रिंग string_type = वर्ष + '-' + महीना + '-' + दिन;

// स्ट्रिंग-डेट को डेट में कन्वर्ट करें

दिनांक कनवर्ट_डेट = दिनांक.वैल्यूऑफ (स्ट्रिंग_टाइप);

system.debug (रूपांतरित_डेट);

// प्रारूप()

system.debug (convert_date.format ());

आउटपुट:

2. दिनांक वर्ग पद्धति का उपयोग करना

इस परिदृश्य में, हम शीर्ष 'दिनांक' वर्ग में उपलब्ध विधियों का उपयोग करके 'दिनांक' से अलग-अलग वर्ष, माह और दिन निकालते हैं। अगला, हम 'स्ट्रिंग' प्रारूप में 'दिनांक' वापस करने के लिए इन तीनों को जोड़ते हैं।

  1. दिन() – इस विधि का प्रयोग “तारीख” से तिथि निकालने के लिए किया जाता है। यह पूर्णांक देता है जो दिनांक निर्दिष्ट करता है।
  2. महीना() - इस विधि का उपयोग 'तारीख' से महीना निकालने के लिए किया जाता है। यह पूर्णांक देता है जो माह संख्या निर्दिष्ट करता है। हम जनवरी को 1, फरवरी को 2… कह सकते हैं। दिसंबर 12 के रूप में।
  3. वर्ष() - इस विधि का प्रयोग 'तारीख' से वर्ष निकालने के लिए किया जाता है। यह वर्ष को चार अंकों के प्रारूप में लौटाता है।

वाक्य - विन्यास:

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

उदाहरण:

'YYYY-M-D' प्रारूप में 'दिनांक' को 'स्ट्रिंग' में वापस बदलें।

// वर्ष, माह और दिन एक-एक करके घोषित करें

स्ट्रिंग वर्ष = '2023';

स्ट्रिंग माह = '4';

स्ट्रिंग डे = '5';

// उन सभी को एक तार में जोड़ दें

स्ट्रिंग string_type = वर्ष + '-' + महीना + '-' + दिन;

// स्ट्रिंग-डेट को डेट में कन्वर्ट करें

दिनांक कनवर्ट_डेट = दिनांक.वैल्यूऑफ (स्ट्रिंग_टाइप);

system.debug (रूपांतरित_डेट);

// तिथि को स्ट्रिंग में बदलें

system.debug (परिवर्तित_डेट.वर्ष () + '-' + कनवर्ट_डेट.माह () + '-' + कनवर्ट_डेट.डे ());

आउटपुट:

व्यावहारिक उदाहरण:

आइए देखें कि 'दिनांक' को कैसे अपडेट किया जाए जैसे कि सेल्सफोर्स ऑब्जेक्ट्स में मौजूदा तारीख में दिन, साल और महीने जोड़ना। तीनों विधियाँ 'n' पूर्णांक को एक तर्क के रूप में लेती हैं।

1. एडडेज़ ()

मौजूदा तिथि में दिन जोड़ने के लिए, एपेक्स ऐडडेज़ () विधि का समर्थन करता है जो 'दिनांक' वर्ग में उपलब्ध है।

2. महीने जोड़ें ()

मौजूदा तिथि में महीनों को जोड़ने के लिए, एपेक्स ऐडमंथ्स () विधि का समर्थन करता है जो 'दिनांक' वर्ग में उपलब्ध है।

3. एड इयर्स ()

मौजूदा तिथि में वर्षों को जोड़ने के लिए, एपेक्स ऐडइयर्स () विधि का समर्थन करता है जो 'दिनांक' वर्ग में उपलब्ध है।

वाक्य - विन्यास:

आइए इन तीन तरीकों के लिए सिंटैक्स देखें। यहाँ, 'n' प्रजाति पूर्णांक मान है।

  • input_Date.addDays (एन)
  • input_Date.addMonths (एन)
  • input_Date.addYears (एन)

उदाहरण पर जाने से पहले, निम्नलिखित पर विचार करें:

  1. सेल्सफोर्स में लॉग इन करें और 'ऐप लॉन्चर' पर जाएं और टैब में 'अभियान' खोजें। यहां, हम 'अभियान का नाम' और 'समाप्ति तिथि' डालते हैं।

  1. 'अभियान' चुनें और 'नया' पर क्लिक करें।

  1. अभियान में डेटा डालने के लिए एक पॉपअप प्रकट होता है। 'अभियान नाम' के तहत 'लिनक्स संकेत पोस्ट' जोड़ें और 'अंतिम तिथि' को 4/5/2023 के रूप में सेट करें। फिर, 'सहेजें' पर क्लिक करें।

हम रिकॉर्ड के साथ तैयार हैं। (प्रकार – सम्मेलन और स्थिति – नियोजित स्वचालित रूप से आ जाएगा। उसे छोड़ दें)। आइए डेवलपर कंसोल में अनाम विंडो खोलें।

उदाहरण 1:

आइए 'अभियान' ऑब्जेक्ट में मौजूदा 'समाप्ति तिथि' में 10 दिन जोड़ने के लिए ऐडडेज़ () विधि का उपयोग करें।

  1. ऐसा करने के लिए, हमें पहले 'अभियान' ऑब्जेक्ट से रिकॉर्ड प्राप्त करने के लिए SOQL क्वेरी का उपयोग करना होगा और इस रिकॉर्ड को 'सूची' ऑब्जेक्ट में संग्रहीत करना होगा।
  2. अगला, हम सूची को पुनरावृत्त करने के लिए 'के लिए' लूप का उपयोग करते हैं और 'समाप्ति तिथि' में 10 दिन जोड़ने के लिए ऐडडेज़ () विधि का उपयोग करते हैं।
  3. अंत में, हम 'अभियान' ऑब्जेक्ट में 'समाप्ति तिथि' को अपडेट करने के लिए 'अपडेट डीएमएल' कथन का उपयोग करते हैं।
// SOQL का उपयोग करने वाले अभियान से वापसी का नाम और समाप्ति तिथि

सूची <अभियान> query1 = [नाम चुनें, अभियान से समाप्ति तिथि जहां नाम = 'लिनक्स संकेत पोस्ट'];

// AddDays () विधि का उपयोग करके एंडडेट में 10 दिन जोड़ें

for(Campaign i: query1){

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

}

// एंडडेट को अपडेट करने के लिए अपडेट डीएमएल का उपयोग करें

अद्यतन क्वेरी 1;

system.debug (क्वेरी 1);

आउटपुट:

पिछली 'अंतिम तिथि' 5 अप्रैल है। इसमें 10 दिन जोड़ने के बाद, 'अंतिम तिथि' अब 15 अप्रैल है।

हम “अभियान” टैब में भी देख सकते हैं। वापस जाएं और पेज को रीफ्रेश करें। आप देख सकते हैं कि 'अंतिम तिथि' अपडेट हो गई है।

उदाहरण 2:

आइए मौजूदा 'अंतिम तिथि' में 3 महीने जोड़ने के लिए ऐडमंथ्स () विधि का उपयोग करें।

// SOQL का उपयोग करने वाले अभियान से वापसी का नाम और समाप्ति तिथि

सूची <अभियान> query1 = [नाम चुनें, अभियान से समाप्ति तिथि जहां नाम = 'लिनक्स संकेत पोस्ट'];

system.debug ('वास्तविक:' + क्वेरी 1);

// AddMonths () पद्धति का उपयोग करके EndDate में 3 महीने जोड़ें

for(Campaign i: query1){

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

}

// एंडडेट को अपडेट करने के लिए अपडेट डीएमएल का उपयोग करें

अद्यतन क्वेरी 1;

system.debug ('अपडेट किया गया:' + क्वेरी 1);

आउटपुट:

'अंतिम तिथि' में पिछला महीना अप्रैल है। 3 महीने जोड़ने के बाद अब जुलाई है।

उदाहरण 3:

आइए मौजूदा 'अंतिम तिथि' में 3 वर्ष जोड़ने के लिए ऐडइयर्स () पद्धति का उपयोग करें।

// SOQL का उपयोग करने वाले अभियान से वापसी का नाम और समाप्ति तिथि

सूची <अभियान> query1 = [नाम चुनें, अभियान से समाप्ति तिथि जहां नाम = 'लिनक्स संकेत पोस्ट'];

system.debug ('वास्तविक:' + क्वेरी 1);

// AddYears () पद्धति का उपयोग करके EndDate में 3 वर्ष जोड़ें

for(Campaign i: query1){

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

}

// एंडडेट को अपडेट करने के लिए अपडेट डीएमएल का उपयोग करें

अद्यतन क्वेरी 1;

system.debug ('अपडेट किया गया:' + क्वेरी 1);

आउटपुट:

'अंतिम तिथि' में 3 वर्ष जोड़ने के बाद, अद्यतन वर्ष 2026 है।

निष्कर्ष

सेल्सफोर्स एपेक्स में तारीख को फॉर्मेट करना काफी आसान है। इस ट्यूटोरियल के भाग के रूप में, हमने सीखा कि कैसे 'डेट' को 'स्ट्रिंग' फॉर्मेट से 'डेट' में बदलने के लिए वैल्यूऑफ () विधि का उपयोग किया जाता है जो एपेक्स 'डेट' क्लास में उपलब्ध है। यदि आप दिनांक को वापस स्ट्रिंग में बदलना चाहते हैं, तो हम प्रारूप () और दिनांक विशेषताओं जैसे दिन (), माह () और वर्ष () का उपयोग करते हैं। अंत में, हमने अलग-अलग उदाहरणों के साथ AddDays (), addMonths (), और addYears () विधियों का उपयोग करके 'समाप्ति तिथि' को अपडेट करने के लिए Salesforce 'अभियान' ऑब्जेक्ट पर DML ऑपरेशन पर चर्चा करके इस गाइड को समाप्त कर दिया।