前回の記事「PHP は 20 世紀のすべての閏年をどのように出力しますか 」では、特定の年が閏年であるかどうかを判断する方法を紹介しました。今回は、その年が閏年かどうかを判断する別の方法を紹介します。
上記では、他の言語でも使用できる、閏年を判断するための一般的なアルゴリズムを紹介しましたが、この記事では、PHP 固有の方法を紹介します。組み込み関数 date() を使用して閏年を判断し、次に、「21 世紀のすべての閏年を取得」を見つけて印刷します。
考え:
うるう年の 2 月は 29 日あります。この機能を利用して、date() を使用して 2 月に含まれる日数を取得できます。指定された年の $year の日数。指定された年 $year が閏年であるかどうかを判断できるように、日数が 29 日であるかどうかを判断します。
for ループを使用して 21 世紀のすべての年 (2001 ~ 2100) を取得し、上記の方法を使用して、それがうるう年であるかどうかを 1 つずつ判断します。要件を満たします (うるう年です) 年の出力。
実装方法:
<?php header("Content-type:text/html;charset=utf-8"); for($year = 2001; $year <= 2100; $year++){ $time = strtotime("{$year}-02"); //取得一个日期的 Unix 时间戳; if (date("t",$time)==29){ //格式化时间,并且判断2月是否是29天; echo $year."是闰年!<br>"; //是29天就输出时闰年; } } ?>
出力を見てみましょう:
OK、完了です。上記の例では、strtotime("{$year}-02")
ステートメントは、「xxxx-02」形式の日付を Unix タイムスタンプに変換します。その後、date(" を使用できます) t" ,$time)
ステートメントを使用して、$year の 2 月に含まれる日数を取得します。if ステートメントを使用して、その日数が 29 日に等しいかどうかを判断し、$year がうるうかどうかを判断できます。年。
date() 関数の "t
" 文字パラメータを使用して、特定の月に含まれる日数を取得できます。この関数には、## までの組み込み文字が多数あります。 # 出力日付を制御します。文字列形式の文字 。実際、閏年かどうかを判断するために使用できる文字「L」があります (閏年であれば 1、閏年でなければ 0)。
<?php header("Content-type:text/html;charset=utf-8"); for($year = 2001; $year <= 2100; $year++){ $time = strtotime("{$year}-02"); if (date("L",$time)){ echo $year."是闰年<br>"; } } ?>
さて、今日はここまでです。他に知りたいことがあれば、ここをクリックしてください。 → →
以上がPHP は date() 関数を巧みに使用して閏年を計算し、21 世紀のすべての閏年を出力します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。