这是一个测试代码:
<?php
ini_set('date.timezone', 'Europe/London');
$dt = new \DateTime('0000-00-00 00:00:00');
var_dump($dt);
Run Code Online (Sandbox Code Playgroud)
这提供:
object(DateTime)[1]
public 'date' => string '-0001-11-30 00:00:00' (length=20)
public 'timezone_type' => int 3
public 'timezone' => string 'Europe/London' (length=13)
Run Code Online (Sandbox Code Playgroud)
而这不是有效日期.我不明白返回的价值,特别是月份......你能解释一下吗?
目前我正在使用Doctrine 2和MySQL.当我使用mysql中的datetime字段分别在PHP中使用DateTime时遇到一些问题.在我的数据库中,日期值为"0000-00-00",在PHP中,此值将转换为-0001-11-30.我很高兴,所以我需要检查日期的"0000-00-00"值.有人对此有所帮助吗?谢谢.
NB我在想是否应该检查"-0001-11-30"而不是"0000-00-00".