如何防止PHP将带有0000-00-00值的DateTime对象转换为-0001-11-30

art*_*rxe 10 php datetime

目前我正在使用Doctrine 2和MySQL.当我使用mysql中的datetime字段分别在PHP中使用DateTime时遇到一些问题.在我的数据库中,日期值为"0000-00-00",在PHP中,此值将转换为-0001-11-30.我很高兴,所以我需要检查日期的"0000-00-00"值.有人对此有所帮助吗?谢谢.

NB我在想是否应该检查"-0001-11-30"而不是"0000-00-00".

Cro*_*zin 8

如果未设置日期,则使用NULL以指示该状态.这解决了您的问题,使数据库架构更加清晰和冗长.


Álv*_*lez 5

另一种方法是在MySQL服务器中设置NO_ZERO_DATESQL模式.您可以按照http://dev.mysql.com/doc/refman/5.1/en/server-sql-mode.html中的说明为当前会话设置它.