1

我正在从提要中提取时间戳,它提供 12 位数字(1269088723811)。当我转换它时,它会显示为

1901-12-13 20:45:52,

但是如果我将时间戳放入http://www.epochconverter.com/它会显示为

2010 年 3 月 20 日星期六 12:38:43 GMT,这是正确的时间。

epochconverter.com 提到它可能以毫秒为单位,所以我修改了脚本以使用它来处理它

$mil = $timestamp;
$seconds = $mil / 1000;
$date = date('Y-m-d H:i:s', date($seconds));

但它仍然将日期转换错误,1970-01-25 20:31:23。

我究竟做错了什么?

4

2 回答 2

2

这似乎是经过修剪的microtime()输出。您似乎做错的唯一一件事是使用date($seconds)而不是 raw $seconds。尝试

$date = date('Y-m-d H:i:s', $seconds); 
于 2010-03-21T13:02:35.173 回答
2
$xml = new SimpleXMLElement('<foo><a>1269088723811</a></foo>');
echo date('Y-m-d H:i:s', (float)$xml->a / 1000);

$xml = new SimpleXMLElement('<foo><a>1269088723811</a></foo>');
$ts = substr($xml->a, 0, -3);
echo date('Y-m-d H:i:s', $ts);

都打印2010-03-20 07:38:43(在我的欧洲/柏林机器上)

于 2010-03-21T14:01:23.320 回答