前回の記事「PHPで指定した年、月、日の合計日数を計算する方法」では、指定した年の合計日数を計算する方法を紹介しました。月と日。今回は方法を簡略化し、strtotime() 関数を使用して合計日数を計算する方法を示します。
この記事のテーマは、年、月、日を指定して、その日までの合計日数を計算することです。
これを計算するにはどうすればよいですか?アイデアがない場合は方向を変えて単純化してみましょう、x年1月1日からx年x月x日までの日数を求める、つまり を求めるだけではないでしょうか。 2 つの日付間の時差。では、どうやって時差を求めるのでしょうか?
最初に 2 つの日付: x 年 1 月 1 日と x 年 x 月 x 日をタイムスタンプに変換する必要があります。
$startdate = strtotime("{$year}-01-01"); $enddate = strtotime("{$year}-{$month}-{$day}");
次に 2 つのタイムスタンプを減算します (終了時刻 - 開始時刻)
$diff_seconds = $enddate-$startdate;
これにより 2 つの日付間の時差が取得されますが、それでも秒単位でカウントされるため、読み取りには適していません。
1 日は 24 時間、1 時間は 60 分、1 分は 60 秒なので、24*60*60=86400
に変換すると、 1日は86,400秒。
時差 $diff_秒を 86400 で割り、floor() を使用して最も近い整数に切り捨てます。
$time = floor(($diff_seconds)/86400);
このとき得られるのは、x 月 x を除いた日数の差です。 day この日、特定の月および年の特定の日までの合計日数を取得するには、1 を加算します。
完全なコードを見てみましょう:
function GetDays($year,$month,$day){ $startdate = strtotime("{$year}-01-01"); $enddate = strtotime("{$year}-{$month}-{$day}"); $diff_seconds = $enddate-$startdate; $time = floor(($diff_seconds)/86400); $day = $time+1; echo "截止{$year}-{$month}-{$day} 共有 {$day} 天<br>"; }
テストしてみましょう: 2000-3-5 までの合計日数を計算します (2000 年はうるう年なので、31 29 5= 65)
GetDays(2000,3,5);
出力結果は次のとおりです:
OK、合計日数は正しいです。 GetDays($year,$month,$day) 関数を使用すると、1 年の合計日数を計算することもできます
#GetDays(2000,12,31); GetDays(2021,12,31);
出力結果は次のとおりです:
#わかりました。今のところはここまでです。他に知りたいことがあれば、ここをクリックしてください。 → →
以上が特定の年の特定の月の特定の日まであと何日あるかを計算するPHP関数アプリケーションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。