PHP выводит неверный месяц - PullRequest
2 голосов
/ 12 февраля 2011

Если я передаю, например, ?month=$04 в URL и echo $date Я продолжаю получать январь, а не то, что должно быть (апрель). Если я повторяю $month, я получаю 04, что правильно. Это код, который я использовал:

if (isset($_GET['month']) && $_GET['month']!='') {
        $month = $_GET['month'];
        $date = date('F', $month);
}

echo $date;

Что касается меня, я не могу понять, почему это не выводится правильно. Любая помощь высоко ценится.

Ответы [ 3 ]

5 голосов
/ 12 февраля 2011

Посмотрите, что вы здесь делаете:

date('F', '04');

второй параметр для date() - это отметка времени, начинающаяся 1 января 1970 года. Итак, что вы делаете, задаете 1 января 1970 года,00:00:04 часов полуночи.

То, что вы хотите сделать, может быть достигнуто, например, так:

$timestamp = strtotime ("2000-$month-01"); // 2000-04-01 will always be April
echo date('F', $timestamp);
1 голос
/ 12 февраля 2011

Это потому, что вы используете date () с неверным параметром.$ месяц должен быть меткой времени Unix.Вы можете рассмотреть возможность использования функции mk_time ().

0 голосов
/ 12 февраля 2011

Вам нужна актуальная дата.Попробуйте что-то вроде echo date("F", mktime(0, 0, 0, 4, 0, 0));

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