我正在爲Wordpress開發PHP腳本,並且正在對我們的系統進行API調用,並且它包含.Net到Json格式的DateTime字符串。使用正則表達式我已經將它剝離到Unix Epoch以來的秒數。據我所知,我應該能夠使用DateTime :: createFromFormat('U',$ time)創建一個DateTime對象;但是腳本在遇到它時會停止執行(它會執行到此爲止的所有內容)。我把它包裝在一個try/catch中,但即使沒有被執行,我猜也只是簡單地'死亡'。當PHP到達一行代碼時,PHP停止執行
這是怎麼回事?
preg_match_all('/\d+/', $post->discussion->posttime, &$ms);
$ms = $ms[0];
var_dump($ms[0]);
$time = substr($ms[0], 0, strlen($ms[0]) - 3);
var_dump($time);
$date = DateTime::createFromFormat('U', $time);
//Nothing after the above line is executed
var_dump($date);
...
輸出到頁面的樣子:
string(13) "1332244919776"
string(10) "1332244919"
沒有我把顯示後的日期時間線(或據我所知,執行)。我使用了來自在線的有效Unix時間戳,但它仍然無效。我試過其他格式('Y-m-d'),它們都有匹配的日期字符串格式,並且它們都沒有工作。使用新的DateTime()創建常規'現在'DateTime對象;雖然工作。
在其他任何內容之前添加此行:'error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);'。然後運行腳本並讓我們知道輸出。 – 2012-03-20 21:04:00
是的,間接的答案是,你應該打開錯誤報告,並找出發生了什麼問題。添加建議的簡單代碼行。你可能需要添加'ini_set(「display_errors」,「1」);'。 – octern 2012-03-20 21:14:59