【2023年版】PHPで曜日を取得する完全ガイド

PHPで曜日を取得するコード例のイラストPHP
この記事は約5分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればサンプルコードを活用して機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

この記事を読めば、PHPで曜日を取得し、それを活用する方法を学ぶことができます。

初心者でも理解できるように、基本的なPHPの知識から始め、具体的なサンプルコードを通じて学んでいきます。

●PHPとは

○PHPの基本 PHPは、Webサイトの動的な部分を作成するためのプログラミング言語です。

HTMLで作成された静的なWebページに、データベースから情報を取得したり、フォームから入力されたデータを処理したりする動的な機能を追加するのによく使われます。

●PHPでの曜日の取得

PHPで曜日を取得するには、主にDateTimeクラスを使用します。

このクラスは、日付や時間を扱うための機能を提供しています。

○PHPのDateTimeクラス

DateTimeクラスは、PHP 5.2.0から使用可能となりました。

このクラスを使用すると、日付や時間を簡単に取得、操作することができます。

○DateTimeクラスの使い方

DateTimeクラスを使用する基本的な手順は次の通りです。

  1. DateTimeクラスのインスタンスを作成します。
  2. formatメソッドを使用して、日付や時間を所望の形式で取得します。

○サンプルコード1:現在の曜日を取得する

次のサンプルコードは、DateTimeクラスを使用して現在の曜日を取得する方法を示しています。

<?php
$datetime = new DateTime(); // DateTimeクラスのインスタンスを作成
$weekList = array("日", "月", "火", "水", "木", "金", "土"); // 曜日のリスト
$w = (int)$datetime->format('w'); // 曜日の数値を取得
echo $weekList[$w].'曜日'; // 曜日を出力
?>

このコードでは、DateTimeクラスのインスタンスを作成し、そのインスタンスのformatメソッドを使用して現在の曜日の数値を取得しています。

その数値を元に、曜日のリストから対応する曜日を出力しています。

○サンプルコード2:特定の日付の曜日を取得する

次のサンプルコードは、特定の日付の曜日を取得する方法を示しています。

<?php
$datetime = new DateTime('2023-05-25'); // 特定の日付のDateTimeクラスのインスタンスを作成
$weekList = array("日", "月", "火", "水", "木", "金", "土"); // 曜日のリスト
$w = (int)$datetime->format('w'); // 曜日の数値を取得
echo $weekList[$w].'曜日'; // 曜日を出力
?>

このコードでは、DateTimeクラスのインスタンスを作成する際に特定の日付を指定しています。

その他の部分は前のサンプルコードと同じです。

●PHPでの曜日の応用例

PHPで曜日を取得することで、曜日によって処理を分岐させたり、曜日に応じたメッセージを出力したりすることが可能になります。

○サンプルコード3:曜日による処理の分岐

下記のサンプルコードは、曜日によって処理を分岐させる例を示しています。

<?php
$datetime = new DateTime(); // DateTimeクラスのインスタンスを作成
$w = (int)$datetime->format('w'); // 曜日の数値を取得

if ($w == 0 || $w == 6) {
    echo '今日は休日です。';
} else {
    echo '今日は平日です。';
}
?>

このコードでは、現在の曜日が日曜日(0)または土曜日(6)であれば「今日は休日です。」と出力し、それ以外の曜日であれば「今日は平日です。」と出力します。

○サンプルコード4:曜日によるメッセージの出力

次のサンプルコードは、曜日に応じたメッセージを出力する例を示しています。

<?php
$datetime = new DateTime(); // DateTimeクラスのインスタンスを作成
$weekList = array("日", "月", "火", "水", "木", "金", "土"); // 曜日のリスト
$w = (int)$datetime->format('w'); // 曜日の数値を取得

echo '今日は'.$weekList[$w].'曜日です。'; // 曜日に応じたメッセージを出力
?>

このコードでは、現在の曜日に応じて、「今日は○曜日です。」というメッセージを出力しています。

●注意点と対処法

PHPで曜日を扱う際の注意点として、DateTimeクラスのformatメソッドで取得できる曜日の数値は、日曜日を0とし、土曜日を6とする点があります。

このため、日本の一般的な曜日の数え方(月曜日を1とし、日曜日を7とする)とは異なります。

この違いに注意しながらコードを書くことが重要です。

また、DateTimeクラスのインスタンスを作成する際には、正しい日付形式を指定する必要があります。

正しくない形式を指定するとエラーが発生するため、注意が必要です。

●カスタマイズ方法

PHPで曜日を取得する方法は、上記の基本的な方法以外にも様々なカスタマイズが可能です。

例えば、曜日の数値ではなく、曜日の名前を直接取得する方法、特定の曜日になるまでの日数を計算する方法などがあります。

これらのカスタマイズ方法については、PHPの公式ドキュメンテーションや各種オンラインリソースを参照してください。

まとめ

この記事では、PHPで曜日を取得し、それを活用する方法について詳しく解説しました。

PHPのDateTimeクラスを使用することで、現在の曜日や特定の日付の曜日を簡単に取得することができます。

また、取得した曜日を元に、曜日による処理の分岐や曜日に応じたメッセージの出力など、様々な応用が可能です。

これらの知識を活用して、PHPでのプログラミングをより効果的に行ってください。