ホームページ  >  記事  >  バックエンド開発  >  PHPで時間に基づいて曜日を取得する3つの方法

PHPで時間に基づいて曜日を取得する3つの方法

PHPz
PHPzオリジナル
2023-04-12 13:56:337060ブラウズ

PHP は非常に人気のあるサーバーサイド スクリプト言語であり、強力で豊富な関数ライブラリがあり、日付と時刻を操作するための関数が多数含まれています。多くのアプリケーションでは、カレンダー、クラススケジュールなど、日付または時刻に基づいて対応する曜日を取得する必要があります。ここでは、時間に基づいて曜日を取得するための PHP メソッドをいくつか紹介します。

date 関数を直接使用する

PHP では、組み込み関数 date を使用して、現在の時刻の曜日を取得できます。曜日を表す書式設定された文字列の "w" パラメータを渡すだけで済み、返される結果は 0 ~ 6 の数値で、0 は日曜日を表し、1 ~ 6 は月曜日から土曜日を表します。

サンプル コードは次のとおりです:

$week = date("w");
echo $week; //输出结果:2(表示星期三)

上記のコードは、現在の日付の曜日を取得し、その結果を $week 変数に割り当てます。最終的な出力結果は 2 です。 、水曜日を表します。

出力結果を中国の曜日に変換したい場合は、対応する配列を追加します。

サンプル コードは次のとおりです。

$week_array = array("日", "一", "二", "三", "四", "五", "六");
$week = date("w");
echo "今天是星期".$week_array[$week];

上記のコードは、現在の日付の曜日を取得し、対応する中国語の曜日を画面に出力します。たとえば、次のようになります。今日は水曜日です。

strtotime 関数を使用する

PHP では、文字列をタイムスタンプに変換できる strtotime という一般的に使用される関数もあります。まず現在時刻をタイムスタンプに変換し、次に使用します。 date関数は曜日を取得します。

サンプル コードは次のとおりです。

$week_array = array("日", "一", "二", "三", "四", "五", "六");
$week = date("w", strtotime("now"));
echo "今天是星期".$week_array[$week];

上記のコードでは、strtotime("now") は現在の時刻のタイムスタンプを返し、$timestamp in date("w", $timestamp) はタイムスタンプを曜日の数値に変換するもので、最終的な出力結果は次のようになります: 今日は水曜日です。

カスタム関数

曜日を頻繁に取得する必要がある場合は、簡単に呼び出せるようにカスタム関数をカプセル化できます。サンプル コードは次のとおりです:

function get_week_day($time){
    $week_array = array("日", "一", "二", "三", "四", "五", "六");
    $week = date("w", strtotime($time));
    return "星期".$week_array[$week];
}

$time = "2021-09-15";
echo get_week_day($time);

上記のコードでは、get_week_day という名前の関数を定義します。渡されるパラメーターは時間文字列です (例: "2021-09-15")。まず文字列をタイムスタンプに変換し、次にその時点の曜日 (中国の曜日) を取得し、最後に結果を返します。最後の行は関数を呼び出し、出力は Wednesday. になります。

概要:

PHP 開発者にとって、時間に基づいて曜日を取得することは一般的な開発タスクです。この記事では、date 関数を直接使用する方法、strtotime 関数を使用する方法の 3 つの実装方法を紹介します。そしてカスタム関数。その中でも、カスタム関数は再利用性が高く、コードの可読性と保守性を向上させることができます。この記事が皆さんのお役に立てば幸いです。

以上がPHPで時間に基づいて曜日を取得する3つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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