날짜를 조작할 때 실수로 월말이 초과되는 상황을 피하는 것이 중요합니다. 이 문서에서는 대상 월의 범위 내에 유지하면서 특정 날짜에 월을 추가하는 안정적인 접근 방식을 살펴봅니다.
주어진 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