Unix 纪元时间使用 PHP 错误地转换为人类可读

Unix epoch time converts to human readable incorrectly with PHP

1630440104是Unix纪元时间代码示例。

这个PHP代码

echo date('Y.m.d', '1630440104').' at '.date('H:m:s', '1630440104');

将其输出为 2021.08.31 at 23:08:44,这是不正确的。

因为正确的输出应该是2021.08.31 at 23:01:44.

无论我在上面插入什么时间代码 PHP 编码它 returns 08 分钟而不是实际值。

我哪里做错了?

错误是在第二个 date 调用中使用了 mm 是月,分钟是 i

echo date('Y.m.d', 1630440104).' at '.date('H:i:s', 1630440104);

echo date('Y.m.d \a\t H:i:s', 1630440104);

请注意,date 第二个参数接受 int 而不是 stringdeclare(strict_types=1); 中会发生 TypeError。

您可以在 DateTime::format docs page 下找到可用的格式。