Как мне получить дату следующего месяца от сегодняшней даты и вставить ее в мою базу данных? - PullRequest
30 голосов
/ 01 декабря 2010

В моей базе данных есть два столбца: start_date и end_date, которые оба являются DATE типами.Мой код обновляет даты следующим образом:

$today_date = date("Y-m-d");
$end_date = date("Y-m-d"); // date +1 month ??

$sql1 = "UPDATE `users` SET `start_date` = '".$today_date."', `end_date` = '".$end_date."'  WHERE `users`.`id` ='".$id."' LIMIT 1 ;";

Как лучше всего сделать $end_date равным $start_date + один месяц?Например, 2000- 10 -01 станет 2000- 11 -01.

Ответы [ 12 ]

0 голосов
/ 21 августа 2014

01 февраля 2014

$date = mktime( 0, 0, 0, 2, 1, 2014 );

echo strftime( '%d %B %Y', strtotime( '+1 month', $date ) );
0 голосов
/ 12 июля 2014

Эта функция возвращает любое правильное количество месяцев положительно или отрицательно. Находится в разделе комментариев здесь :

function addMonthsToTime($numMonths = 1, $timeStamp = null){
    $timeStamp === null and $timeStamp = time();//Default to the present
    $newMonthNumDays =  date('d',strtotime('last day of '.$numMonths.' months', $timeStamp));//Number of days in the new month
    $currentDayOfMonth = date('d',$timeStamp);

    if($currentDayOfMonth > $newMonthNumDays){
      $newTimeStamp = strtotime('-'.($currentDayOfMonth - $newMonthNumDays).' days '.$numMonths.' months', $timeStamp);
    } else {
    $newTimeStamp = strtotime($numMonths.' months', $timeStamp);
    }

    return $newTimeStamp;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...