ホームページ  >  記事  >  バックエンド開発  >  PHPで特定の年の日数を計算する方法

PHPで特定の年の日数を計算する方法

PHPz
PHPzオリジナル
2023-03-20 16:12:541813ブラウズ

PHP は、さまざまな Web サイトや動的アプリケーションの開発に使用できる、広く使用されているサーバー側スクリプト言語です。特定の年の日数を計算することも、特定のシナリオでは非常に便利な機能です。この記事では、PHPを使用して特定の年の日数を計算する方法を紹介します。

  1. 1 年の日数を計算する方法

1 年の日数を計算するには、まず次のことを理解する必要があります。一年の日数は不確かです。通常、1 年は 365 日ですが、閏年では 1 年は 366 日になります。うるう年は4で割った余りが0になる年ですが、100で割り切れても400では割り切れない年はうるう年ではありません。したがって、PHP の条件ステートメントを使用して、特定の年が閏年であるかどうかを判断し、それによって年の日数を計算できます。

以下は PHP コードです。

function countDaysInYear($year) {
  if ($year % 4 == 0) {
    if ($year % 100 == 0 && $year % 400 != 0) {
      return 365;
    } else {
      return 366;
    }
  } else {
    return 365;
  }
}

echo countDaysInYear(2021);  // 输出 365
echo countDaysInYear(2020);  // 输出 366

上記のコードの countDaysIn Year 関数は、年をパラメータとして受け取り、その年の日数を返します。関数内では、まず % 演算子を使用して、その年がうるう年かどうかを判断します。年が 4 で割り切れる場合はうるう年、そうでない場合は通常の年です。

うるう年の場合は、その年が 100 で割り切れるが 400 で割り切れないかどうかも判断する必要があります。この場合、その日は閏年ではなく、その日数は 365 日になります。そうでない場合は、閏年で、その日数は 366 日になります。

  1. 今年の任意の日を計算する方法

特定の日付がある場合、PHP を使用して計算することもできます。今年は何の日ですか?この計算には、PHP の strtotime 関数と date 関数を使用する必要があります。

テキスト日付 (「now」、「2021-07-12」など) を Unix タイムスタンプに変換できる strtotime 関数について説明します。 Unix タイムスタンプは、1970 年 1 月 1 日 00:00:00 UTC から入力日付までの秒数です。

strtotime 関数を使用して現在の日付を Unix タイムスタンプに変換し、今年 1 月 1 日との時差を計算し、最後に 1 を加算して日付を取得します。年。

以下は PHP コードです:

function getDayOfYear($date) {
  $now = strtotime($date);
  $start = strtotime(date('Y', $now) .'-01-01');
  return floor(($now - $start) / (60 * 60 * 24)) + 1;
}

echo getDayOfYear('2021-07-12');  // 输出 193

上記のコードの getDayOf Year 関数は日付文字列をパラメータとして受け取り、日付がその年の何日かを返します。は。

関数内では、まず strtotime 関数を使用して日付文字列を Unix タイムスタンプに変換します。次に、date 関数を使用して、今年の 1 月 1 日を Unix タイムスタンプに変換します。

次に、現在の日付と 1 月 1 日との時差を計算し、日数を取得します。 1 月 1 日からの日数を計算したいので、この日数に 1 を加える必要があります。

  1. 概要

この記事では、PHP を使用して特定の年の日数と任意の日付を計算する方法を紹介しました。年 月の最初の日。これらの計算は一部のシナリオでは一般的に使用されない場合がありますが、プログラマにとっては、そのような関数を作成することでコーディング能力が向上し、ツールボックスが増えることもあります。

以上がPHPで特定の年の日数を計算する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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