这是我的PHP代码
var_dump($args['startdate']);
var_dump((int)$args['startdate']);die();
这是输出
string(13) "1468821556126" int(2147483647)
预期输出
string(13) "1468821556126" int(1468821556126)
为什么会发生这种情况以及如何解决此问题?
答案 0 :(得分:2)
您无法获得可靠的结果,因为您的数字太大而无法表示为整数。
echo PHP_INT_MAX; //2147483647 on my system
对于与您一样大的数字,如果您需要数字格式,请将其转换为浮点数而不是整数
echo floatval('1468821556126'); //1.46882155613E+12
从那里,如果你想要一个约会,我认为这是Javascript时间,以毫秒为单位。要转换为Unix时间戳,您需要将其除以1000。
答案 1 :(得分:1)
你可能正在使用32位系统。您看到的数字是32位计算机上int的最大大小。 使用浮动或更换为64位机器。
参考:PHP Integer
答案 2 :(得分:1)
这种情况正在发生,因为你的$args['startdate']
是毫秒,你需要将它除以1000