PHP 7 与 8 带有浮点时间戳的 DateTime 行为

Tho*_*odi 6 php php-7.4 php-8

这个例子: https: //onlinephp.io/c/3af93

<?php

new DateTime("@0.1");
Run Code Online (Sandbox Code Playgroud)

抛出一个错误,PHP 7PHP 8会成功解析时间戳。

我试图理解为什么它的行为与以前的 PHP 版本不同。查看 PHP 7 与 8 变更日志后,我找不到任何对此行为的直接引用。

这是一个未记录的更改还是与任何不同的内容相关?

Man*_*the 0

从我的角度来看,PHP 7.* 和 PHP 8.* 的文档是相同的,区别似乎在于回显致命错误(或通知或警告)。他们还需要回应 PHP 8。

如果您参考DateTime::__construct()的文档,

注意:当$datetime 参数是UNIX 时间戳(例如@946684800)或指定时区(例如2010-01-28T15:00:00+02:00)时,$timezone 参数和当前时区将被忽略。

`