我正在尝试使用DateTime的子项来扩展DateTime的功能,以实现国际格式化和简单的数据库格式化。但它不适用于负日期。我的Date对象的var_dump
向我显示以下内容:
object(Date)[98]
public 'date' => string '-0001-11-30 00:00:00' (length=20)
public 'timezone_type' => int 3
public 'timezone' => string 'Europe/Paris' (length=12)
$this->format('Y-m-d')
工作正常,但不适用于IntlDateFormatter
。
这是我的代码:
class Date extends DateTime
{
public function __toString()
{
$fmt = new IntlDateFormatter(Locale::getDefault(), IntlDateFormatter::MEDIUM, IntlDateFormatter::MEDIUM);
return $fmt->format($this);
}
public function toSqlDate()
{
return new String($this->format('Y-m-d H:i:s'));
}
}
编辑:导致失败的是new Date('0000-00-00')
。