2017-06-13 47 views
0

我有以下格式JSON響應:獲取和JSON解析字符串到PHP

"/Date(1234)/" 

我如何獲得的數字僅作爲PHP字符串(1234)?

感謝

+0

如果你有JSON,你需要使用'json_decode()' –

+0

這不是一個有效的JSON字符串 –

+0

後的實際您收到的JSON數據。 –

回答

1
$dateonly = "/Date(1234)/"; 
echo $dateonly = preg_replace("/[^0-9,.]/", "",$dateonly); 
0

我不認爲這是JSON,或者至少不是有效的。然而,你可以這樣提取號碼:

preg_match_all('!\d+!', stripslashes("/Date(1234)/"), $output); 
echo $output; 
0

這種格式/Date(1234)/通常稱爲JSON日期格式。它包含以毫秒爲單位的unixtime。所以,當你提取數字時,你需要將它分成1000以獲得unixtime並使用PHP進行處理。 這裏,我給一個函數來提取日期並將其轉換爲PHPDateTime對象

function parseJSDate($jsDateObject) 
{ 
    $dateTime = null; 
    if (preg_match("/\/Date\((\d+)\)\//", $jsDateObject, $match)) { 
     if (isset($match[1]) && is_numeric($match[1])) { 
      $timestamp = (int) $match[1]; 
      $dateTime = new \DateTime(); 
      $dateTime->setTimestamp($timestamp/1000); 
     } 
    } 

    return $dateTime; 
} 

$date = parseJSDate("/Date(1224043200000)/"); 
echo $date->format("Y-m-d H:i:s");