Разрешить игнорировать дни или месяцы в датах PHP - PullRequest
0 голосов
/ 20 декабря 2011

У меня есть поле даты в моей базе данных MySQL и три поля (гггг-мм-дд) в моей форме PHP.Пользователь может установить полную дату, но также может установить дату «гггг-мм» или «гггг».В MySQL все идет хорошо, если пользователь только устанавливает год, он хранит «yyyy-00-00».Так как в месяце нет 00 дней и нет 00 месяцев в году, он действует как «NULL» день или месяц.

Но, когда я хочу отобразить дату назад пользователю, используяth PHP_функция date_format, если дата «2012-00-00», она отображает «2011-12-30».

Как я могу легко (не используя столбцы have_day и have_month в БД) справиться с этимповедение?

Заранее спасибо!

1 Ответ

2 голосов
/ 20 декабря 2011

Ваш случай необычный. Вы не можете использовать класс DATE для форматирования дат. Попробуйте трактовать дату как буквальную строку.

if (strstr($date_returned,'-00-00'))
{
    echo  str_replace('-00-00','',$date_returned).'-00-00';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...