2017-02-03 4 views
0

基本的に、データベースには、「検定」がある「タイプ」があります。タイムスタンプは "017-01-15 22:18:44"で、例えばRealDateにあります。どれほど前の日付であっても、その差は3日以内に真実を返します。助言がありますか?あなたはそれを他の方法でやるべきときなぜこのPHP時間は正しく減算されていないのですか?

$doR = $totalArr[$i]['RealDate']; 
$start = strtotime($doR); 
$today = time(); 
$diff = ($start-$today)/(60 * 60 * 24); 
if($diff < 5){ 
    $parole = "<span style=\"color:red\"> - ON PAROLE</span>"; 
} 
+0

strtotimeは、あなたが「/ DAY'とDAYであると考えるようなものではありません。 – nogad

+0

私はDAYがあなたに数日を教えてくれると思った。だから(時間/日)=日...私はないと思いますか? –

+0

phpにはDAY関数がありません。このコードではエラーが発生します – nogad

答えて

1

問題は、あなたは$start-$todayを引いているされて周り$today-$start

$start-$today今の時間は常に過去の時間でより大きな数になりますので、常に負になりますUNIXのタイムスタンプ形式。それは常に負の値なので、あなたの条件は$diff < 5です。

$doR = $totalArr[$i]['RealDate']; 
$start = strtotime($doR); 
$today = time(); 

// change it like this: 
$diff = ($today-$start)/(60 * 60 * 24); 

if($diff < 5){ 
    $parole = "<span style=\"color:red\"> - ON PAROLE</span>"; 
} 
+0

私は単純な間違いを感じるとは思えません。どうもありがとう!私の問題は修正されました。 –

関連する問題