PHP में महीने के आखिरी दिन को बढ़ाए बिना तारीखों में महीने जोड़ना
किसी तारीख को संशोधित करना और महीनों को जोड़ना PHP में एक सीधा काम है . हालाँकि, यह सुनिश्चित करना कि परिणामी तारीख महीने के आखिरी दिन से आगे न बढ़े, थोड़ी चुनौती पेश करती है।
इसे संबोधित करने के लिए, हम एक दृष्टिकोण प्रस्तुत करते हैं जो तारीख जोड़ने में सटीकता सुनिश्चित करता है:
function add($date_str, $months)
{
$date = new DateTime($date_str);
// Capture the starting day of the month
$start_day = $date->format('j');
// Add the specified number of months
$date->modify(" {$months} month");
// Extract the resulting day of the month
$end_day = $date->format('j');
// Check if the resulting day differs from the original day
if ($start_day != $end_day)
{
// If they are different, it means the month changed, so we adjust the date
$date->modify('last day of last month');
}
return $date;
}
यह फ़ंक्शन दो पैरामीटर लेता है: एक स्ट्रिंग के रूप में प्रारंभिक तिथि और जोड़ने के लिए महीनों की संख्या। यह डेटटाइम ऑब्जेक्ट बनाकर और महीने का शुरुआती दिन निकालकर शुरू होता है। फिर महीनों की निर्दिष्ट संख्या जोड़कर तारीख को संशोधित किया जाता है। जोड़ने के बाद, यह महीने के परिणामी दिन को पुनः प्राप्त करता है और इसकी तुलना मूल दिन से करता है। यदि दिन अलग-अलग हैं, तो यह इंगित करता है कि महीना बदल गया है, इसलिए तारीख को पिछले महीने के आखिरी दिन में सुधारा जाता है।
इस फ़ंक्शन की उपयोगिता प्रदर्शित करने के लिए, यहां कुछ उदाहरण दिए गए हैं:
$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
इस फ़ंक्शन का उपयोग करके, आप बाद के महीनों में ओवररन की चिंता के बिना आत्मविश्वास से महीनों को तारीखों में जोड़ सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3