2013-02-16 32 views
0

我正在使用PHP製作json文件的jsonp版本,並且我注意到作者在json文件中放置了這樣的內容而不是有效日期:用有效日期替換如新日期(1358467200000)的字符串

"StartPublish" : new Date(1356652800000) 

我需要表現爲使用PHP像Fri Dec 28 2012 01:00:00 GMT+0100 (CET)有效的日期格式時間戳來代替new Date(timestamp)所有出現。

很多謝謝!

+0

應該與JS更容易被格式化,這可以本地'eval'uate對象文字和'新Date'表達式。任何JSON解析器都會拒絕該語法。 – Bergi 2013-02-16 19:33:55

+0

你真的想要取決於時區的日期字符串嗎?爲什麼不只是轉換爲整數? – Bergi 2013-02-16 19:35:04

+0

當然,您可以輸出時間戳。 JS會很高興地接受這個(如你已經得到的代碼所示) – Spudley 2013-02-16 19:35:08

回答

1

現在不要關於您的JSON內容。嘗試preg_replace_callback

$jsonPost = preg_replace_callback('/:\s*new\s+Date\(([0-9]+)\)/', function($match) { 
    return ': "'. date('r', $match[1]/1000). '"'; 
}, $jsonPre); 

日期可根據http://php.net/manual/en/function.date.php

+0

謝謝 - 這是訣竅! – 2013-02-18 19:54:19

0

我正在做一個JSON文件

的JSONP版本,那麼你不會有任何問題。您當前擁有的格式可能不是有效的JSON,但將其包裝在回調函數中將創建具有對象文字和Date調用的有效JSONP腳本 - 無需轉換。只是

echo $_GET["callback"] . "($nearlyJSON);"; 
0
echo date("d/m/Y h:i:s",strtotime($strtime)); 
相關問題