在PHP中将字符串时间戳转换为时间戳

在PHP中将字符串时间戳转换为时间戳,php,date,timestamp,Php,Date,Timestamp,我有一个类似“1427835599999”的字符串,我想将其转换为时间戳,以便在date()函数中使用它 到目前为止,我已经尝试了以下方法: $time = date("Y-m-d", $timestamp); 返回一个错误($timestamp应该是一个给定的长字符串) 返回01-01-1970 因此,我需要将字符串转换为long,以便在date函数中使用它 谢谢 编辑: (int)$timestamp也不起作用$时间戳+0不起作用。它看起来是javascript的.getTime()函数的

我有一个类似“1427835599999”的字符串,我想将其转换为时间戳,以便在date()函数中使用它

到目前为止,我已经尝试了以下方法:

$time = date("Y-m-d", $timestamp);
返回一个错误($timestamp应该是一个给定的长字符串)

返回01-01-1970

因此,我需要将字符串转换为long,以便在date函数中使用它

谢谢

编辑:


(int)$timestamp也不起作用$时间戳+0不起作用。

它看起来是javascript的
.getTime()
函数的产物,返回自1970/01/01以来的毫秒数,因此13位数字,而时间戳是秒数,因此有10位数字。把它除以1000:

$time = date("Y-m-d", $timestamp/1000);
echo $time; // output: 2015-03-31

142783559999
不是我在这里测试的有效时间戳(=04/22/47216@11:59pm(UTC)),它是我想要的日期。。。你想要的日期是4/22/47216?我觉得这很难相信。这取决于你的操作系统(32位对64位),可能会也可能不会抛出错误。当我这样做时,它工作正常(没有错误),并打印日期为47216-04-22。我预计在32位系统上,您将失败,因为时间戳太大。您检查了我的链接吗?我想要的日期是2015年3月31日,非常感谢。为了给出正确的答案,为了不太苛刻:)
$time = date("Y-m-d", $timestamp/1000);
echo $time; // output: 2015-03-31