2015-12-24 29 views
1

我嘗試以下的strtotime輸出什麼

echo "Pre order date > $pre_order_close_date"; 
$pre_order_unix_time = strtotime($pre_order_close_date);  
echo "Unix time is > $pre_order_unix_time"; 

結果是

Pre order date > 31 Jan 2016Unix time is > 

然後我嘗試了以下,看看我的日期格式爲精細

echo "Pre order date > $pre_order_close_date"; 
$pre_order_unix_time = strtotime("31 Jan 2016");  
echo "Unix time is > $pre_order_unix_time"; 

結果返回是

Pre order date > 31 Jan 2016Unix time is > 1454198400 

看來,如果我直接輸入字符串它的工作正常,但如果我使用變量代替2016年1月31日,它不會輸出任何內容。

我可以在這裏做錯什麼。

感謝您的幫助!

**我如何得到我的pre_order_close_date **

$ get_content是這個值

<p>Retail Price: USD 42<br /> 
<span class="il">Pre</span>&#8211;<span class="il">Order</span> Price: USD 40<br /> 
<span class="il">Pre</span>&#8211;<span class="il">Order</span> <span class="il">Close</span> <span class="il">Date</span>: 31 Jan 2016<br /> 
Release <span class="il">Date</span>: 1Q 2016</p> 
$get_content_explode = explode("\n",$get_content); 

foreach($get_content_explode as $gce) 
{ 
if(strstr(strtolower($gce),"close")) 
{ 
$pre_order_close_arr = explode(":",$gce); 
$pre_order_close_date = trim($pre_order_close_arr[1]); 
}//end if gce 
}//end foreach 
+1

我懷疑'$ pre_order_close_date'包含一些HTML標記。您在查看網頁時看不到它。嘗試使用查看源查看真正存在的內容。 – Barmar

+0

在這裏工作得很好:http://ideone.com/uB3V5e – Barmar

+0

@Barmar我如何確保我看到的文本將轉換爲字符串爲PHP,以便我的strtotime將工作。 –

回答

0

$get_content包含HTML標記。使用strip_tags()將其刪除。

$get_content_explode = explode("\n", str_replace('&nbsp;', ' ', (strip_tags($get_content)))); 

DEMO

+0

我不知道爲什麼,但它仍然不能工作在我的最後,任何機會調試或查看錯誤日誌的這種問題? –

+0

嘗試'var_dump(htmlentities($ get_content))'查看'$ get_content'中的所有內容。 – Barmar

+0

string(17)「2016年1月31日」如果我var轉儲$ pre_order_close_date –