2010-12-30 20 views
0

私は店舗の日付をdd-mm-yyにしており、システムの日付を日付(d.m.y)にしています。 私はこの2つの値を比較し、どれが大きいかを調べなければなりません。 終了日を変更すると、次のコードが正しく動作しません。私もJavascriptで比較する必要があります。 私はこのPHPの日付とシステムの日付の比較

$day=date("d"); 
$month=date("m"); 
$year=date("y"); 
$year="20".$year; 

$enddate='31-11-2011'; 
$end=explode("-",$enddate); 
$end_day=$end[0]; 
$end_month=$end[1]; 
$end_year=$end[2]; 
$allow=0; 
if($year<=$end_year) 
{ 
if($month<=$end_month) 
{ 
    if($day<=$end_day) 
    { 
    $allow=1; 
    } 
    else 
    { 
    $allow=0; 
    } 
} 
else 
{ 
$allow=0; 
} 
} 
else 
{ 
$allow=0; 
} 

if($allow==0) 
{ 
echo "expired"; 
} 
else 
{ 
echo "Active"; 
} 

答えて

1

はこのような何かをやってみ書きました:

$today = strtotime(date("d") . "/" . date("m") . "/20" . date("y") . " 00:00:00"); 
$toCompare = strtotime("31/11/2011 00:00:00"); 
if($today == $toCompare) 
{ 
//Same 
} 
else 
{ 
//Different 
} 

使用されている2つの関数はstrototime()と時間です()。

+0

あなたのソリューションは、00:00:00 – sbczk

+0

Ahで毎日1秒で有効です。その日が同じかどうかだけを知りたいとは思っていませんでした。今すぐ私の答えを編集します。 – Flipper

+0

ありがとう、それは働いて、あなたは私が使用するはずのjavascriptの入れ墨を提案することができます –

1

二つの日付を比較するための多くのsimplier方法があります:

$currentDate = Date ('m-d-Y'); // Y will return year in XXXX format not like y which returns year in XX format 
$endDate = '31-11-2011'; 

if (StrToTime ($currentDate) > StrToTime ($endDate)) { 
    // current date is bigger 
} else { 
    // end date is bigger 
} 

StrToTime()関数は整数であるUNIXタイムスタンプに日付の文字列表現に変換します。

+0

ありがとう男は、どの機能を使用するのでしょうか? –