PHP を使用して指定した月の日数を確認する方法

青灯夜游
リリース: 2023-03-12 06:56:01
オリジナル
2938 人が閲覧しました

前回の記事「phpループ学習10:水仙の数を求め、すべての水仙の数を出力する」では、水仙の数を求めてforループを使って出力する方法を紹介しました。すべての水仙メソッドの数。今回は日付と時刻に注目し、PHPを使用して特定の年または月の最大日数を取得する方法を紹介します。

この記事のテーマは、年と月が与えられた場合、その月が何日あるかを判断することです。

1 か月の最大日数が 4 つの状況に分けられることは誰もが知っています:

  • 大きな月: 31 日;

  • 小さい月: 30 日;

  • うるう年の 2 月: 29 日

  • 通常の 2 月年: 28 日

毎年、1 月、3 月、5 月、7 月、8 月、10 月、12 月が大きな月として固定され、4 月、6 月、9 月、11 月が小さな月となります。

したがって、選択制御ステートメント switch case を使用して判断選択を行うことができます。

$month が 1、3、 5、7、8、10、12 の場合は 31 が出力され、$month が 4、6、9、11 の場合は 30 が出力されます。コードは次のように記述できます:

switch($month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
	echo "$month 月共有31天";break;
case 4:
case 6:
case 9:
case 11:
	echo "$month 月共有30天";break;
}
ログイン後にコピー

テストします:

$month=1 の場合、出力は次のとおりです:

PHP を使用して指定した月の日数を確認する方法

When$month=4、出力は次のとおりです:

PHP を使用して指定した月の日数を確認する方法

説明: switch ステートメント式に基づきます 値は case の値と順番に比較されます。値が等しくない場合は、次の case の検索を続けます。等しい場合は、switch ステートメントが終了するまで、対応するステートメントが実行されます。休憩が発生します。

OK, 大きい月と小さい月の判断はまだ非常に簡単です。2 月は残り 1 か月しかありません。2 月の日数を計算するには、まず、その年が 2 月であるかどうかを判断する必要があります。閏年。これを実現するには、次の関数を使用します。 (詳細については、記事「PHP が 20 世紀のすべての閏年を出力する方法 」を参照してください)。閏年の場合は true または 1 を返し、閏年ではない (通常の年) 場合は false または 0 を返します。

次に、switch case ステートメントで

IsLeapyear($year)

関数を呼び出して判定を行います。

function IsLeapYear($year){
   return ($year % 400 == 0 || $year % 4 == 0 && $year % 100 != 0);
}
ログイン後にコピー

三項演算子

case 2:
	echo IsLeapYear($year)? "$month 月共有29天" : "$month 月共有28天";break;
ログイン後にコピー

は、条件「式 1」が true の場合はステートメント「式 2」を実行し、それ以外の場合はステートメント「式 3」を実行することを意味します。

1 ~ 12 か月以外の数値を入力するときにユーザーに通知するデフォルトのブランチを追加することもできます:
表达式1?表达式2:表达式3
ログイン後にコピー

わかりました。上記のコードを関数関数としてカプセル化します:

default:echo '输入错误,请输入1-12之间的数';break;
ログイン後にコピー

GetMaxDay($year,$month)

関数を呼び出します:

function IsLeapYear($year){
   return ($year % 400 == 0 || $year % 4 == 0 && $year % 100 != 0);
}
function GetMaxDay($year,$month)
{
	switch($month){
	case 1:
	case 3:
	case 5:
	case 7:
	case 8:
	case 10:
	case 12:
		echo "$year 年 $month 月共有31天
";break; case 4: case 6: case 9: case 11: echo "$year 年 $month 月共有30天
";break; case 2: echo IsLeapYear($year)? "$year 年 $month 月共有29天
" : "$year 年 $month 月共有28天
";break; default:echo '输入错误,请输入1-12之间的数
';break; } }
ログイン後にコピー

出力結果を見てみましょう:


PHP を使用して指定した月の日数を確認する方法2000 年は閏年であるため、2 月は 29 日あり、2001 年は平年であるため、2 月は 29 日あることがわかります。 3 月は大きな月なので 31 日あり、4 月は小さな月なので 30 日あります。

わかりました。これですべてです。他に知りたいことがある場合は、これをクリックしてください。 → →

phpビデオチュートリアル

以上がPHP を使用して指定した月の日数を確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!