【发布时间】:2015-01-21 13:53:43
【问题描述】:
简短的故事,这是我的代码:
var_dump($recentGame->createDate);
var_dump((int) $recentGame->createDate);
正在产生以下输出:
float 1416772859827
int -566347853
为什么类型转换后的输出不是这个:
int 1416772859827
【问题讨论】:
-
查看 32 位 PHP 的整数限制
-
最大值取决于系统。 32 位系统的最大有符号整数范围为 -2147483648 到 2147483647。因此,例如在这样的系统上,intval('1000000000000') 将返回 2147483647。64 位系统的最大有符号整数值为 9223372036854775807。 @ 987654321@
-
那么 createDate 代表什么整数?这不是标准的 unix 时间戳吗?
-
这是一个纪元时间值,我需要从中创建一个 dateTime 对象。
-
你有毫秒数:
$seconds = $recentGame->createDate / 1000; echo date("d-m-Y", $seconds);
标签: php floating-point integer