【问题标题】:Unix epoch time converts to human readable incorrectly with PHPUnix 纪元时间使用 PHP 错误地转换为人类可读
【发布时间】:2021-10-30 10:25:56
【问题描述】:

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 代码中插入什么时间代码,它都会返回 08 分钟而不是实际值。

我哪里做错了?

【问题讨论】:

  • 顺便说一句,如果您对它进行转义,您可以在格式字符串中包含“at”,因此您只需调用一次date()echo date('Y.m.d \a\t H:i:s', '1630440104');
  • @Sammitch 只是因为它应该在这种特殊情况下。将任何在线纪元转换器与我的时间码一起使用。时间戳可以是更少或更多的任何分钟。仅当实际分钟数为 8 时才正确。因为正如我在问题中所述,它始终显示 8 分钟。
  • @dontpanic 谢谢

标签: php unix epoch


【解决方案1】:

错误是在第二个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 下找到可用的格式。

【讨论】:

  • 我应该自己检测到我的错误,因为日期部分已经有m。非常感谢!
  • 不,有问题。它发生了。
猜你喜欢
  • 2020-09-29
  • 2017-04-06
  • 2013-01-13
  • 2012-08-16
  • 2019-03-26
  • 2019-12-03
  • 2014-03-24
  • 2012-10-14
  • 2014-10-19
相关资源
最近更新 更多