我正在尝试将时间戳字符串转换为PHP中的Date。我有以下代码
date_default_timezone_set('Asia/Calcutta');
$time = (int)$_POST['timestamp'];
$timeString = date('H:i:s',$time);
但是,无论如何,我总是把时间串作为08:44:07。我认为时间戳大于32位整数可以存储的时间,这可能就是为什么这个转换总是给出整数的默认最大值。
如何在PHP中创建64位整数?我有一台64位机器和64位Windows 7。 有没有更好的方法将时间戳字符串转换为本地时间?
编辑: 时间戳作为字符串由javascript发送 - “1330582437883”
答案 0 :(得分:6)
我完全毫无根据地刺入黑暗中:
时间戳值来自Javascript。 Javascript以毫秒为单位测量时间戳,而不像PHP那样测量秒数。所以该值是PHP预期的1000倍。在将值发送到PHP之前将值除以1000。或者选择服务器端,您可能需要使用bcdiv
来获取精确值。