2011-08-02 131 views
0

這裏發生了什麼事?PHP:時間問題

$today = date('m.d.y H:i', time()); 
echo strtotime($today); 

它不輸出任何東西......發生什麼事了?

+2

'm.d.y'是一個不明確的日期格式。試試'Y-m-d'。 – Tomalak

回答

5

strtotime只能解析certain formats,而不是任意隨機分配的數字和字母。 「m.d.y H:我」不是格式strtotime可以解析。您需要使用手動解析,例如,strptime

0

strtotime適用於美國的日期。嘗試

$today = date('m/d/y H:i', time()); 
echo strtotime($today); 
0

strtotime()是一個用於格式化日期的函數,在輸出之前。看來日期已經在date()函數中形成了,並且您不會嘗試在第二行中格式化日期。

正確的代碼

$today = date("Y-m-d-H.i"); 
$datenumber = date('Y-m-d',strtotime($today)); 
$timenumber = date('H.i',strtotime($today)); 

您可以回聲所有這些變量。

+0

'strtotime'是將字符串轉換爲時間戳的函數。 'date'會做相反的處理,並將時間戳記轉換爲字符串。 – deceze

+0

我不會在php中使用時間戳,並將所有日期和時間作爲VARCHAR字符串插入到mysql數據庫中,並且沒有TIME時間戳。你是對的。我不知道。對我而言,'date'用於指定日期格式,'strtotime'用於更改輸出日期的格式,或者將日期按時間向前或向後移動指定的時間段。 – desbest

+0

如果您曾經使用過'strtotime'或曾經添加過數字,那麼您已經使用了時間戳。 :O) – deceze