phpは閏年を判断する3つの方法

1145 ワード

方法1:
判断する年をとり、対応するunixタイムスタンプを作り、date関数のLで閏年かどうかを判断する
public function leapYear()  
{  
      $year = 2020;  
      $time = mktime(0, 0, 0, 1, 1, $year);  
      if (date('L', $time) == 1) {  
         echo '   ';  
      } else {  
         echo '    ';  
      }  
}

方法2:
判断する年の2月の日数をとり、29日かどうかを判断し、そうであれば閏年
public function leapYear()  
{  
      $year = 2021;  
      $time = mktime(0, 0, 0, 2, 1, $year);  
      if (date('t', $time) == 29) {  
         echo '   ';  
      } else {  
         echo '    ';  
      }  
}

方法3:
1.普通年は4で除かれ、100で除かれないのは閏年
2.世紀年は400で除かれ、3200で除かれないのは閏年
public function leapYear()  
{   
     $year = 2021;  
     if ($year % 100 == 0) {  
          if ($year % 400 == 0 && $year % 3200 != 0) {  
            echo '   ';  
          } else {  
            echo '    ';  
          }  
     } else {  
          if ($year % 4 == 0) {  
            echo '   ';  
          }else{  
            echo '    ';  
          }  
     }
 }