【问题标题】:How to convert output of date("Ymd") into a number in PHP? [duplicate]如何将日期(“Ymd”)的输出转换为 PHP 中的数字? [复制]
【发布时间】:2017-11-16 20:07:14
【问题描述】:

我希望得到所需的输出,例如 20170613,它是一个整数。 我知道使用 strtotime() 可以获得整数形式的 UNIX 时间戳,但我不希望这样。 date("Ymd") 然而返回一个字符串。

我似乎无法找到将其转换为整数的方法。

编辑#1:这是我正在尝试的: $x = (int)date("Ymd"); 回声 $x;

但是,结果不会显示在浏览器中。事实上在开发者工具中,它显示内部服务器错误。

【问题讨论】:

标签: php html


【解决方案1】:

Google 的术语是“类型转换”。这会将您带到PHP type juggling docs on integer casting

以此为参考点,规范的做法是:

$int = (int)date('Ymd');

为了完整起见,您还可以使用等效的完整形式:

$int = (integer)date('Ymd');

或函数式:

$int = intval(date('Ymd'));

【讨论】:

  • 在 9223372036854775807 (PHP_INT_MAX) 年,他的代码将静默中断。确保及时警告 9223372036854775807 年维护者,并确保错误不会传播,您应该这样做$int = filter_var(date('Ymd'),FILTER_VALIDATE_INT);if(false===$int){throw new \LogicException('failed to convert date to php integer!');}
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-09
  • 1970-01-01
相关资源
最近更新 更多