Здравствуйте!
Вопрос весьма философский. База, таблица, в таблице есть необзятельные поля даты.
Для удобства сделал им default-значения (0000-00-00), чтобы в PHP одинаково обрабатывать и заполненные поля, и незаполненные (выводить нули или реальные даты).
Каковым было мое удивление, когда в результате выполнения этого кода
$date = new DateTime('0000-00-00');
echo $date->format("Y-m-d");
вместо ожидаемых нулей я увидел "-0001-11-30".
Как мне удалось выяснить, это не баг, а фича PHP.
Соответственно, хотелось бы узнать, как грамотнее хранить необязательную дату MySQL? Использовать NULL или другую маску?
З.Ы. Хранение с дефолтным значением '0000-00-00' я увидел в некоторых CMS.