Как правильно обработать объект PHP DateTime Object при переходе между годами - PullRequest
0 голосов
/ 23 ноября 2018

В настоящее время я пытаюсь сделать небольшой календарь.

При нажатии моей кнопки я вызываю функцию AJAX, которая возвращает данные из моей БД и отправляет их в мой пользовательский календарь (полный html)..

Я установил первый месяц на ноябрь.

Как мне обращаться с годом при переходе с декабря 2018 года на январь 2019 года?

У меня есть это:

$newBeginDate = new DateTime($dateBegin, $timeZoneParis);
$lastDayThisMonth = new DateTime($newBeginDate->format('Y-m-t'));

$newBeginDate->modify('+1 month');

У меня правильный месяц, пока я не попытаюсь поехать в январь (ничего не произошло (я застрял с декабрем 2018 года, не могу поехать в январь)2019), я не вижу способа сделать это).

Ответы [ 2 ]

0 голосов
/ 23 ноября 2018

Решение:

Вот мой PHP-код:

                $dateBegin =  $currentYearPost. "-".$currentMonthPost."-01";
                $dateEnd = $currentYearPost . "-".$currentMonthPost."-t";

                $newBeginDate = new DateTime($dateBegin, $timeZoneParis);
                if($_POST['next'] != ""){
                    $newBeginDate->modify('+1 month');
                }else{
                    $newBeginDate->modify('-1 month');
                }
                $period = new DatePeriod($newBeginDate,new DateInterval('P1D'),$lastDayThisMonth);

Ничего не произошло, потому что я неправильно использовал jQuery:

$ ('# nextMonth, #previousMonth '). on (' click ', function () {

Вне $ (документа) .ready

$ (' # nextMonth, #previousMonth '). live (' click ', function () {

0 голосов
/ 23 ноября 2018
$newBeginDate->format('Y-m-t')

t равно Количество дней в данном месяце не День месяца .

Попробуйте вместо:

$newBeginDate->format('Y-m-d')

Редактировать: Я понимаю, что вы можете использовать это, так как вы используете только эту функцию, чтобы получить месяц, но если вы перейдете с января на февраль, у вас либо будет ошибка, либо вы получитеначало марта.

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