2013-08-23 161 views
1

我在我的論壇上展示了最新的活動,我從SQL中提取「$ mytime」。現在我似乎無法弄清楚這一個:PHP今天/昨天在論壇

$dates = date(" d-m-y",$mytime)); 
    if($dates == date('d-m-y')) { 
     $day_name = 'This day'; 
    } else if(); 
     $day_name = 'Another day'; 
    } 
    echo "$day_name"; 

我想不通這一個:} else if(); {

是否有此代碼的任何更多的問題?

+0

哎呀,一個寫錯在這裏。 「}否則if(){」但仍然需要回答我的問題。希望這可以幫助其他人。 – Marius

回答

0

是的,有一個該代碼的問題。由於它應該是這樣的:

$dates = date(" d-m-y",$mytime)); 
if ($dates == date('d-m-y')) { 
    $day_name = 'This day'; 
} elseif (YOU-CAN-COMPARE IT TO SOMETHING ELSE AGAIN IN HERE) { 
    $day_name = 'Another day'; 
} 
echo "$day_name"; 

或者如果你是不是願意把它比作第二次,使用此:

$dates = date(" d-m-y",$mytime)); 
if ($dates == date('d-m-y')) { 
    $day_name = 'This day'; 
} else { 
    $day_name = 'Another day'; 
} 
echo "$day_name"; 
+0

工作完美! – Marius

1

在PHP語法是:

} elseif(/* conditions */) { 

雖然如果沒有條件,根本就

} else { 

UPDATE:看評論

if(date('Ymd') == date('Ymd', strtotime($mytime))){ 
    $day_name = 'This day'; 
} else { 
    $day_name = 'Another day'; 
} 
echo $day_name; 
+0

主要的問題是,我不知道如何編寫PHP的「$日期 - 24小時」 – Marius

+0

嘗試使用strtotime。查看更新的答案。 –

+0

這不起作用,只是昨天和今天發佈的話題「又一天」。 – Marius

0
$day_name = ($dates == date('d-m-y')) ? 'This day' : 'Another day'; 

三元運算符就足夠了,或者只是使用

if(this is true){ 

} else { 

} 
1

這是一個有點亂,但你可以嘗試這樣的事:

$dates = date("d-m-y",$mytime)); // you have an extraneous space here 
if($dates == date('d-m-y')) { 
    $day_name = 'Today'; 
} else if($dates === date("d-m-y", strtotime("-1 day")); 
    $day_name = 'Yesterday'; 
} 
echo "$day_name"; 

的strtotime參考:http://php.net/manual/en/function.strtotime.php

你看着辦吧。

+0

我會建議'Y-m-d'格式,或者至少是'd-m-Y'。前者將正確排序(如果需要)。不過,這是我在這裏看到的最好的答案。 –

+0

爲了清晰起見,我同意Y-m-d,但任何格式都適用於這種情況。不要擔心表現。 – vidario

+0

我知道,沒有冒犯的意思。只是澄清OP ...和其他人。 ;-) – vidario

0

否則,如果是您想要放入的其他條件並檢查 例如。

if(){ 
     if part is true then run this}; 
    else if(){ 
       else if part true then run this}; 
在您的情況下,它只是無用...... 所以保持或刪除它沒有型差分

..

0

要獲得昨天的日期使用此...

date("Y-m-d", strtotime("-1 day")); 
相關問題