"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > PHP में महीने की समाप्ति से अधिक के बिना किसी तारीख में महीने कैसे जोड़ें?

PHP में महीने की समाप्ति से अधिक के बिना किसी तारीख में महीने कैसे जोड़ें?

2024-11-13 को प्रकाशित
ब्राउज़ करें:989

How to Add Months to a Date in PHP Without Exceeding Month End?

माह के अंत को बढ़ाए बिना तारीखों में महीने जोड़ना

परिचय

तिथियों में हेरफेर करते समय, उन स्थितियों से बचना आवश्यक हो जाता है जहां महीने का अंत अनजाने में पार हो जाता है। यह आलेख किसी दिए गए दिनांक में महीनों को जोड़ने के लिए एक विश्वसनीय दृष्टिकोण की खोज करता है, जबकि यह सुनिश्चित करता है कि यह लक्ष्य माह की सीमा के भीतर रहे।

समस्या विवरण

एक PHP फ़ंक्शन को देखते हुए, लक्ष्य एक जोड़ना है महीने के अंत से अधिक हुए बिना किसी तारीख तक महीनों की निर्दिष्ट संख्या। फ़ंक्शन को परिणाम को महीने के अंतिम दिन में समायोजित करना चाहिए यदि अतिरिक्त से स्पिलओवर हो जाएगा।

समाधान

वांछित कार्यक्षमता प्राप्त करने के लिए, आप निम्नलिखित चरणों का उपयोग कर सकते हैं:

  1. नए DateTime($date_str) का उपयोग करके इनपुट स्ट्रिंग दिनांक को DateTime ऑब्जेक्ट में कनवर्ट करें।
  2. का उपयोग करके संशोधन से पहले महीने का दिन निकालें $start_day = $date->format('j').
  3. महीने को तदनुसार बढ़ाने के लिए $date->modify(" {$months} ​​महीना") का उपयोग करें।
  4. दिन प्राप्त करें संशोधन के बाद महीने का $end_day = $date->format('j').
  5. $start_day और $end_day की तुलना करें। यदि वे भिन्न हैं, तो यह इंगित करता है कि माह का अंत पार हो चुका है। उस स्थिति में, $date->modify('पिछले महीने का आखिरी दिन') का उपयोग करके तारीख को पिछले महीने के आखिरी दिन में समायोजित करें।

कार्यान्वयन

function add($date_str, $months)
{
    $date = new DateTime($date_str);

    $start_day = $date->format('j');

    $date->modify(" {$months} month");

    $end_day = $date->format('j');

    if ($start_day != $end_day)
    {
        $date->modify('last day of last month');
    }

    return $date;
}

// Sample tests
$result = add('2011-01-28', 1);   // 2011-02-28
$result = add('2011-01-31', 3);   // 2011-04-30
$result = add('2011-01-30', 13);  // 2012-02-29
$result = add('2011-10-31', 1);   // 2011-11-30
$result = add('2011-12-30', 1);   // 2011-02-28

निष्कर्ष

इस दृष्टिकोण का पालन करके, आप महीने के अंत की बाधाओं का पालन करते हुए आत्मविश्वास से PHP में तारीखों में महीनों को जोड़ सकते हैं, यह सुनिश्चित करते हुए कि आपके परिणाम सटीक रूप से प्रतिनिधित्व करते हैं इच्छित समय सीमा.

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3