用 DateTime 转换负日期让我错误
测试代码
var_dump(\DateTime::createFromFormat(\DateTime::ISO8601, '-0001-11-30T00:00:00+0100'));
Result
boolean false
预期结果
object(DateTime)[5]
public 'date' => string '-0001-11-30 00:00:00' (length=20)
public 'timezone_type' => int 1
public 'timezone' => string '+01:00' (length=6)
(或类似的东西)
附:负日期字符串是使用 $d->format(\DateTime::ISO8601) 创建的;
PHP 版本 PHP 5.4.28
根据手册Format
public string DateTime::format ( string $format )
where
$format
Format accepted by date().
如果你看看date()
$d->format(\DateTime::ISO8601);
应该
$d->format("c")
因为“c”是根据格式date()
ISO 8601 日期(在 PHP 5 中添加)
在我的测试中$d->format(\DateTime::ISO8601);
输出
2015-09-15T00:00:00+0200
while
$d->format("c");
outputs
2015-09-15T00:00:00+02:00
我希望它有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)