1

我正在尝试将 JSON 字符串转换为 PHP 一个 DOB,它可以工作,但给了我错误的 DOB。

$url = "test.js";
$content = file_get_contents($url);
$json = json_decode($content, true);
$DOB = date('m/d/Y', preg_replace('/[^\d]/','', $json['Player'][BirthDt])/1000);

得到 JSONJason 的是:

"BirthDt":"\/Date(-388094400000)\/"

在 PHP 中我得到这个:04/19/1982而不是09/14/1957

有任何想法吗???

4

1 回答 1

2

您的正则表达式正在删除负号,因此它成为 unix 纪元(1970 年 1 月 1 日)之后的日期,而不是之前的日期。尝试这样的事情:

preg_match('/Date\((-?\d+)\)/', $json['Player']['BirthDt'], $matches);
$timestamp = $matches[1];
$DOB = date('m/d/Y', $timestamp / 1000);

您可以在演示中看到它的工作原理。

于 2012-08-01T13:55:10.920 回答