ホームページ  >  記事  >  バックエンド開発  >  PHP は date() 関数を巧みに使用して閏年を計算し、21 世紀のすべての閏年を出力します。

PHP は date() 関数を巧みに使用して閏年を計算し、21 世紀のすべての閏年を出力します。

青灯夜游
青灯夜游オリジナル
2021-08-12 14:09:235098ブラウズ

前回の記事「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天就输出时闰年;
	}
}
?>

出力を見てみましょう:

PHP は date() 関数を巧みに使用して閏年を計算し、21 世紀のすべての閏年を出力します。

OK、完了です。上記の例では、strtotime("{$year}-02") ステートメントは、「xxxx-02」形式の日付を Unix タイムスタンプに変換します。その後、date(" を使用できます) t" ,$time) ステートメントを使用して、$year の 2 月に含まれる日数を取得します。if ステートメントを使用して、その日数が 29 日に等しいかどうかを判断し、$year がうるうかどうかを判断できます。年。

date() 関数の "t" 文字パラメータを使用して、特定の月に含まれる日数を取得できます。この関数には、## までの組み込み文字が多数あります。 # 出力日付を制御します。文字列形式の文字 。実際、閏年かどうかを判断するために使用できる文字「L」があります (閏年であれば 1、閏年でなければ 0)。

したがって、date() 関数を使用すると、21 世紀のすべてのうるう年を出力することもできます。

<?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ビデオチュートリアル

以上がPHP は date() 関数を巧みに使用して閏年を計算し、21 世紀のすべての閏年を出力します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。