4

現在の年が日付文字列(DMY)よりも大きいかどうかを確認したいここに私のコードがあります

$OldDate = "09-30-2011";
$OldYear = strtok($OldDate, '-');
$NewYear = date("Y");

if ($OldYear < $NewYear) {
    echo "Year is less than current year"   
} else {
    echo "Year is greater than current year";
}
4

6 に答える 6

8

使用できますstrtotime()

$OldDate = "2011-09-30";

$oldDateUnix = strtotime($OldDate);
if(date("Y", $oldDateUnix) < date("Y")) {
    echo "Year is less than current year";
} else {
    echo "Year is greater than current year";
}

アップデート

型にはまらない日付スタンプを使用しているため、次のようなさまざまな方法を使用する必要があります。

$OldDate = "09-30-2011";
list($month, $day, $year) = explode("-", $OldDate);
$oldDateUnix = strtotime($year . "-" . $month . "-" . $day);
if(date("Y", $oldDateUnix) < date("Y")) {
    echo "Year is less than current year";
} else {
    echo "Year is greater than current year";
}

注:が日付を正しく認識できるよう常に確認したい場合は、 YYYY-MM-DDstrtotimeを使用してください。

于 2012-09-27T13:20:29.793 に答える
1

日付関数を使用して年を取得します

$OldDate = date("Y",strtotime("09-30-2011"));
$NewYear = date("Y",strtotime("now"));

if($OldYear<$NewYear)
{
echo "Year is less than current year"   
}
else
{
 echo "Year is greater than current year";
 }
于 2012-09-27T13:21:12.540 に答える
0
       $OldDate = "09-30-2011";
       $OldYear = date('Y',strtotime($OldDate));
       $NewYear = date("Y");
       if($OldYear<$NewYear)
        {
         echo "Year is less than current year"   
          }
        else
         {
          echo "Year is greater than current year";
         }
于 2012-09-27T13:21:27.330 に答える
0

文字列をタイムスタンプに変換し、現在のタイムスタンプで確認できます

if(time($OldDate) < time()){
// do stuff
} else {
// do other stuff
}
于 2012-09-27T13:26:07.530 に答える