在php中将时间戳转换为日期会返回错误的日期?

时间:2014-12-31 18:13:07

标签: php datetime datetime-format

我想从以下时间戳获取日期:1410290399037

我尝试过以下但是我的错误日期

date('m-d-Y', 1410290399037); // output is: 04-28-46660

另外,我试过

$date = new DateTime();
$date->setTimestamp(1410290399037);
echo $date->format('m-d-Y');  // output is: 04-28-46660

我从RESTFul Web服务获取时间戳。我确定时间戳是正确的。

当我在以下网站http://www.epochconverter.com/中测试时,我得到了正确的日期

如何使用PHP

获取正确的日期值

由于

2 个答案:

答案 0 :(得分:1)

问题是你得到的时间戳是以毫秒为单位,但PHP使用秒。简单地将你得到的东西除以1000就可以了。

$timstamp = 1410290399037;
$date = date('m-d-Y', $timstamp/1000);
echo $date;

答案 1 :(得分:-1)

简单的答案是你的时间戳错了。

我建议尝试使用在线unix时间戳转换器来验证这一点,例如

http://www.onlineconversion.com/unix_time.htm

产生Sat, 28 Apr 46660 13:03:57 GMT

清掉最后4个数字(好像是毫秒)

为1410290399提供Tue, 09 Sep 2014 19:19:59 GMT,是否更接近您的期望?