Поведение strtotime (+1 месяц) и декабря / следующего года - PullRequest
0 голосов
/ 28 июня 2018

Я работаю с php и должен сравнить некоторые данные, созданные за первое число текущего месяца и первое число следующего месяца.

Я использую date('Y-m-d', strtotime('+1 month'));, чтобы получить первое число следующего месяца. Означает ли это, что я получу 1 января 2019 года, когда текущая дата, например, 2018-12-16? Или strtotime('+1 month') просто добавляет следующий месяц и игнорирует год, поэтому результат будет 2018-01-16 ...?

Я не уверен, если это так strtotime('+1 month') работает, и я не могу проверить это с жестко запрограммированным месяцем; date('Y-12-d', strtotime('+1 month')); возвращает 2018-12-28 ... Я даже проверял это правильно?

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 28 июня 2018

strtotime('+1 month') добавить 1 месяц в текущем месяце, например

если текущая дата 2018-06-28, то

echo date('Y-m-d', strtotime('+1 month'));

Выход :

2018-07-28

Если вы хотите первую дату месяца, используйте:

echo date('Y-m-01', strtotime('+1 month')); // +1 month (Jun to July)

или

echo date('Y-m-01'); // Return Current Month

Если текущий месяц December и вы добавляете 1 месяц с strtotime('+1 month'), тогда ваша дата будет в следующем году

...