2012-08-28 100 views
3

我遇到了一個小編程問題。我需要做一些時間計算,但作爲輸入,我只有一個字符串 - 所以基本上我需要將此字符串轉換爲PHP中的日期/時間對象。這是我遇到麻煩的轉換。從這個字符串創建日期時間對象?

$endtimestamp = "September 1, 2012 13:00 PM"; 

$doesntwork = strtotime(trim($endtimestamp)); 
$doesntwork2 = date_create_from_format("l, F j, Y G:i A", $endtimestamp); 
$doesntwork3 = date("l, F j, Y G:i A", strtotime($endtimestamp)); 

說實話,我不知道爲什麼這些函數不能正常工作。到目前爲止,其他在線資源充其量也是模糊的。誰能告訴我我做錯了什麼?

+2

我的猜測是'13:00 PM'沒有任何意義。它可能是'下午1:00'或者'13:00'。 –

+0

是的,我注意到這個異常。不幸的是,我無法控制所提供的輸入。 –

回答

2

這裏有2個問題。

一個是13:00 PM沒有任何意義。它可以是1:00 PM13:00

strtotime("September 1, 2012 13:00"); 

此外,您的格式l, F j, Y G:i A與您的輸入字符串不匹配。

格式應該是:F j, Y G:i A,或者字符串應該是Saturday, September 1, 2012 13:00 PM

3

那是因爲你必須在一開始

一些奇怪的l,如果您使用此格式:

'F j, Y G:i A' 

它工作正常

相關問題