日付を操作する場合、誤って月末を超える状況を避けることが重要になります。この記事では、指定された日付を対象月の範囲内に保ちながら、その日付に月を追加する信頼性の高い方法について説明します。
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