【发布时间】:2013-05-30 17:06:10
【问题描述】:
我有一个 DATETIME NOT NULL 数据类型的 MySQL 表(没有指定默认值)。
对于MySQL默认,如果我不指定数据,值会变成0000-00-00 00:00:00。
然后我从数据库中获取值,该值是0000-00-00 00:00:00。然后我尝试用检索到的数据创建一个 DateTime 对象。
$date = new DateTime('0000-00-00 00:00:00');
$formatted_date = $date->format('Y-m-d');
echo $formatted_date; // which display -0001-11-30, an obvious invalid date
检查该值是否不是有效日期的最佳方法是什么?
【问题讨论】:
-
'0000-00-00 00:00:00'是有效日期。 -
但是
0000-00-00 00:00:00 != -0001-11-30,先生。 -
如果您有时没有在字段中输入日期,请输入
NULL。 -
@Stephan 不正确。
new DateTime('2013-06-04');有效。 -
@Stephan 支持的还有更多 php.net/manual/en/datetime.formats.php