1

我一直在使用 json 和 PHP 使用 Bing API。该数组为日期吐出以下内容:

[end] => /Date(1354867200000)/
[lastModified] => /Date(1349441488000)/

我认为这是一个 unix 时间戳,但我认为不是。我所做的是这样的 preg_replace

$last_updated = $resource->lastModified;
$last_updated_timestamp = preg_replace('/[^0-9.]*/','',$last_updated);

然后尝试将其转换为日期

$last_updated_date = date('l F d Y g:i:s A',$last_updated_timestamp);   

它向我显示的日期范围从 1967 年到 2000 年的结果。这是我不知道的另一种时间戳吗?如果是这样,我该如何纠正?任何帮助,将不胜感激!

4

2 回答 2

1

数字部分是自时代以来的毫秒数(1970 年 1 月 1 日午夜——unix 时间戳的毫秒版本)。这是在 JSON 中表示日期的一种相当传统的方式(因为 JSON 没有日期类型)。

所以getdate(theNumber / 1000)会给你日期(因为getdate自大纪元以来预计秒数,而不是毫秒)。

于 2012-11-04T06:41:32.640 回答
0

如果您想要将 unix 时间戳转换为日期格式,您可以通过执行以下操作来实现:

date("F j, Y g:i a", strtotime($unix_timestamp));

$unix_timestamp在这种情况下,您的 Unix 时间戳在哪里。您始终可以通过在其前面添加来将其打印出来以进行测试echo

所以在这种情况下,它可能是:

$last_updated_date = date("F j, Y g:i a", strtotime($last_updated_timestamp));
于 2012-11-04T06:44:55.263 回答