عند التعامل مع التواريخ، يصبح من الضروري تجنب المواقف التي يتم فيها تجاوز نهاية الشهر عن غير قصد. تستكشف هذه المقالة طريقة موثوقة لإضافة أشهر إلى تاريخ معين مع ضمان بقائها ضمن حدود الشهر المستهدف.
بالنظر إلى وظيفة PHP، فإن الهدف هو إضافة عدد محدد من الأشهر حتى تاريخ دون تجاوز نهاية الشهر. يجب أن تقوم الدالة بضبط النتيجة إلى اليوم الأخير من الشهر إذا كانت الإضافة ستؤدي إلى امتداد.
لتحقيق الوظيفة المطلوبة، يمكنك الاستفادة من الخطوات التالية:
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