[php] 날짜에 하루 추가

날짜에 하루를 추가하는 코드는 추가하기 전에 날짜를 반환합니다. 하루를 추가
2009-09-30 20:24:00한 후 날짜 다음 달로 롤오버해야합니다.1970-01-01 17:33:29

<?php

    //add day to date test for month roll over

    $stop_date = date('Y-m-d H:i:s', strtotime("2009-09-30 20:24:00"));

    echo 'date before day adding: '.$stop_date;

    $stop_date = date('Y-m-d H:i:s', strtotime('+1 day', $stop_date));

    echo ' date after adding one day. SHOULD be rolled over to the next month: '.$stop_date;
?>

나는 전에 비슷한 코드를 사용했는데, 여기서 내가 뭘 잘못하고 있니?



답변

<?php
$stop_date = '2009-09-30 20:24:00';
echo 'date before day adding: ' . $stop_date;
$stop_date = date('Y-m-d H:i:s', strtotime($stop_date . ' +1 day'));
echo 'date after adding 1 day: ' . $stop_date;
?>

PHP 5.2.0+의 경우 다음과 같이 할 수도 있습니다.

$stop_date = new DateTime('2009-09-30 20:24:00');
echo 'date before day adding: ' . $stop_date->format('Y-m-d H:i:s');
$stop_date->modify('+1 day');
echo 'date after adding 1 day: ' . $stop_date->format('Y-m-d H:i:s');


답변

$date = new DateTime('2000-12-31');

$date->modify('+1 day');
echo $date->format('Y-m-d') . "\n";


답변

가장 간단한 해결책 :

$date = new DateTime('+1 day');
echo $date->format('Y-m-d H:i:s');


답변

그것은 나를 위해 일했다 : 현재 날짜

$date = date('Y-m-d', strtotime("+1 day"));

언제라도 :

date('Y-m-d', strtotime("+1 day", strtotime($date)));


답변

이 시도

echo date('Y-m-d H:i:s',date(strtotime("+1 day", strtotime("2009-09-30 20:24:00"))));


답변

읽고 이해하기 쉬운 방법 :

$original_date = "2009-09-29";

$time_original = strtotime($original_date);
$time_add      = $time_original + (3600*24); //add seconds of one day

$new_date      = date("Y-m-d", $time_add);

echo $new_date;


답변

나는 항상 86400 (하루에 초)을 추가합니다.

$stop_date = date('Y-m-d H:i:s', strtotime("2009-09-30 20:24:00") + 86400);

echo 'date after adding 1 day: '.$stop_date; 

아마 당신이 할 수있는 가장 매끄러운 방법은 아니지만 작동합니다!