2016-03-11 25 views
0

我試圖讓一個簡單的腳本在日期點擊時隱藏內容。PHP當日期點擊時刪除內容

因此,當它是03-11-2016時,顯示內容,但是當日期爲03-15-2016時,隱藏內容。

if(date(m-d-Y) > "03-15-2016") { 
    // do stuff 
} 

不幸的是,下面的腳本不工作的原因,任何幫助將不錯,謝謝!

+0

https://secure.php.net/manual/es/datetime.diff.php – MikeVelazco

+0

如果要比較日期字符串,則需要使用年份月份日期而不是月份日期格式進行格式化。另外,你需要引用你的格式參數給日期函數。 –

+0

如果您想比較字符串日期格式,請使用'Y-m-d'格式。 '03-15-2016'是'<''04-15-1980' – fusion3k

回答

0

date函數返回一個字符串。比較字符串可能會導致一些意外的結果。你需要比較什麼是日期的時間戳:

if (strtotime("now") > strtotime("03/15/2016 00:00:00")) { 
    // do stuff 
} 

注意,我改變了你"03-15-2016""03/15/2016"導致它的格式,它可以通過strtotime功能解析。

0

考慮使用類似:

$today = time(); // time() is now (timestamp) since epoch 
$hideIt = strtotime("2016-03-15"); // timestamp of date to hide stuff 

if ($today > $hideIt) // if today is greater than the date we want to hide things 
{ 
    // do stuff... 
} 
1

如果你想保持相同的格式作爲當前的腳本,這將工作:

<?php 
if(strtotime(date("Y-m-d")) > strtotime("2016-1-04")) { 
    // do stuff 
} 
?> 
+0

我將'>'改爲'<',這就是訣竅。謝謝! – Carl

+0

@Carl如果您喜歡我的回答,請將其標記爲正確答案。 –

+1

這不起作用。 strtotime(「03-8-2016」)是8月3日,而不是3月8日。您不能保證X-Y-Z將被解釋爲M-D-Y。 –

0

你的語法不工作,因爲你是在一個錯誤的順序使用參數。您需要通過未來的第一年,月,天使用它們依次是:

if (date('Y-m-d') > '2016-03-15') { 
    // do stuff 
}