$date = "1346706576967"; // miliseconds
$newDate = (int) $date;
echo $newDate;
我得到“2147483647”作为 $newDate。
我只是想将变量从 String 1346706576967 转换为 int 1346706576967 - 这怎么可能?
不幸的是,2147483647 是整数可以容纳的最大值。您可以在此处使用浮点数,因为浮点数可以准确地保存高达 10000000000000 的整数值
因为这是 PHP 中整数可以具有的最大大小。您将需要一个专门用于处理较大整数(如 BCMath 或 GMP)的 PHP 库,或者只是将其转换为浮点数。
可能的转换,
$input => 1346706576967
(integer)$input => 2147483647
intval($input) => 2147483647
$input*1 => 1346706576967
settype($input, "integer") => 1346706576967
您可以使用隐式转换来正确转换它:
$date = "1346706576967"; // miliseconds
$newDate = 0+$date; // float(1346706576967)
$newDate = (int) $date; // int(2147483647)