速報

X.Orgのクライアントライブラリーで17件を修正!Linux端末と画像処理の利用範囲を点検

CATEGORY

【PHP】日付(年月日)から曜日を取得する【DateTime】

※本ページのリンクにはプロモーションが含まれています。

【PHP】日付(年月日)から曜日を取得する【DateTime】

目次

本記事では、PHPのDateTimeクラスで日付(年月日)から曜日を取得する方法をご紹介しています。

PHPで日付から曜日を取得したいんだけど、良い方法ないかな?

上記の疑問にお答えします。

では、解説していきます。

スポンサーリンク

DateTimeクラスとは

PHPで日時を取り扱う場合、DateTimeクラスを使用します。PHP5.2以降で使用可能です。

PHP: DateTime - Manual

DateTimeクラスは、基本的な日時の取得から複雑な日付の比較までを行うことができる便利なクラスです。本記事の目的である日付から曜日を取得することも可能で、現環境で日付を取り扱う場合はDateTimeクラスを使用することが一般的です。

DateTimeで日付から曜日番号を取得する

対象の日付を指定して曜日番号(各曜日を表す番号)を取得してみます。年の瀬が迫っているということで、今年(2021年)のクリスマスを指定して、曜日番号を取得してみます。

<?php

$datetime = new DateTime('2021-12-25');
echo $datetime->format('w');

上記を実行すると、数字の6が出力されます。$datetime->format('w')で取得することができる曜日番号は下記の曜日に対応しています。

  • 0:日
  • 1:月
  • 2:火
  • 3:水
  • 4:木
  • 5:金
  • 6:土

$datetime->format('w')は6を出力しましたので、2021年12月25日は土曜日ということがわかります。実際のカレンダー上でも土曜日になっています。

曜日番号を取得することができましたので、続いて曜日番号に対応した曜日を出力する処理を作成します。

スポンサーリンク

曜日番号に対応した曜日を出力する

曜日番号に対応した曜日を出力する処理を作成します。配列に曜日情報を持たせておき、曜日番号を添え字として配列の内容を出力します。曜日とあわせて日付も出力しています。

<?php

$datetime = new DateTime('2021-12-25');
$week = array('日', '月', '火', '水', '木', '金', '土');

$date = $datetime->format('Y年m月d日');
$weekday = $datetime->format('w');

echo $date.'('.$week[$weekday].')';

実行すると下記の日付と曜日が出力されます。

2021年12月25日(土)

曜日番号に対応した曜日が出力されていますね。

最後に

PHPで日付を取り扱う場合、DateTimeクラスの他にdate()やstrtotime()があります。どちらも便利な関数ではありますが、2038年問題(32bit環境で2038年までしか対応できない問題)があるため、現在はDateTimeクラスを使うことが一般的されています。DateTimeクラスを扱うことができれば複雑な日時の操作も可能ですので、日付を取り扱う場合はDateTimeクラスをどんどん使っていきましょう!

以上、PHPのDateTimeクラスで日付(年月日)から曜日を取得する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、これまでに100以上のWordPressサイトの構築・保守を担当してきました。Webサイト制作に加え、アプリ開発やAIを活用した開発にも取り組み、近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
WordPress / PHP / JavaScript / アプリ開発 / Webサイトの運用・セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

スポンサーリンク

関連する記事

おすすめの書籍