icon
icon

PHPのdateメソッドを使って日付を取得する方法【初心者向け】

プログラミング初心者向けにPHPのdateメソッドを使って日付を取得する方法について解説しています。Webページ上に現在の日付・時間を表示させたい場合に便利です。表示するフォーマットもカスタマイズできるので、ぜひ覚えておきましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

PHPでdateメソッドを使って日付を取得する方法について解説していきます。

取得できるフォーマットも細かく紹介しているので、ぜひ参考にしてみてください。

そもそもPHPが何か分からない場合は、先にPHPとはの記事をご覧ください。

 

なお本記事は、TechAcademyのPHPオンライン講座の内容をもとにしています。

今回の記事の内容は動画でもご覧いただけます。
テキストよりも動画の方が理解しやすいという場合はぜひご覧ください。

 

目次

1時間でできる無料体験!

PHPでの日付取得の書き方

Webページに現在の日付を表示するためには、date関数(メソッド)を使用します。

date関数では、日付の表示形式(フォーマット)を指定することによって、表示される内容を必要に応じてカスタマイズできます。

書式

date(フォーマット)

処理

現在の日時を取得し、フォーマットで指定した形式に基づいて整形し、文字列を返します。

例えば、date(’Y / m / d H : i : s’)のように指定すると、戻り値として「2016/12/03 21:21:30」のように文字列を返します。

 

大石ゆかり

田島メンター!年月や日時を表示させるにはどうしたらいいですか?

田島悠介

PHPの場合は、date関数で日付を表示させることが出来るよ。

大石ゆかり

未来の日付なども取得できるんですか?

田島悠介

タイムスタンプっていうのを指定しないと、現在の時刻しか取得出来ないんだ。とりあえず、書式を見てみよう!

 

[PR] PHPプログラミングで挫折しない学習方法を動画で公開中

フォーマットの種類

date関数では、使用できるフォーマットが決められています。どのようなフォーマットが使用できるのか、ここで紹介しておきます。

 

[ 年 ]

Y:4桁の年   例:2014
y:2桁の年   例:14
L:閏年、1:閏年、0:閏年ではない
o:PHP バージョン5.1.0 で追加されました。ISO-8601 形式の週番号の年を指定します。Yとほぼ同じですが、違いは、oの場合、ISO 週番号 (W)が前年か翌年の場合、W指定の年を意味します。 例:1999 あるいは 2003

 

[ 月 ]

m:ゼロ詰めの月  例:01~12
n:ゼロなしの月   例:1~12
F:フルスペルの月  例:January
M:3 文字形式の月   例:Jan
t:月の日数。 例:28~31

[ 日 ]

d:ゼロ詰めの日   例:01~31
j:ゼロなしの日   例:1~31
z:年間の通算日   例:0~365

 

[ 時 ]

g:12時間単位の時(ゼロなし)。 例:1~12
G:24時間単位の時(ゼロなし)。 例:0~23
h:12時間単位の時     例:01~12
H:24時間単位の時   例:00~23

 

[ 分 ]

i:分  例:00~59

 

[ 秒 ]

s:秒  例: 00~59

 

[ 午前 / 午後 ]

a:午前:am 午後:pm
A:午前:AM 午後:PM

 

[ 曜日 ]

D:3文字形式の曜日   例:Mon
l:フルスペルの曜日 例:Monday
N:ISO-8601形式の曜日 例:1(月)~7(日)
W:曜日 例:0(日)~6(土)

 

[ タイムゾーン ]

e :PHPバージョン5.1.0で追加されたタイムゾーン識別子です。  例: UTC, GMT, Atlantic/Azorese
I:サマータイムに関する指定。 例:1の場合サマータイム中。 0ならサマータイムではない。
O: グリニッジ標準時 (GMT) との時差です。 例: +0200
P: PHP バージョン5.1.3で追加された、グリニッジ標準時 (GMT) との時差です。時間と分をコロンで区切った形式で表示します。  例: +02:00
T: タイムゾーンの略称です。  例: EST, MDT …
Z: タイムゾーンのオフセット秒数です。 UTC の西側のタイムゾーン用のオフセットは常に負です。 UTC の東側のオフセットは常に正です。 例: -43200 から 50400

 

実際に日付を取得してみよう

それでは、実際に現在の日付を取得し、Web上に表示してみましょう。

 

タイムゾーンの設定

PHPでは、日付を取得する場合にタイムゾーンを指定しておく必要があります。

タイムゾーンというのは、共通の標準時刻を使う地域のことを言います。現在地あるいは、取得したい地域に合わせてタイムゾーンを指定するのです。たとえば、現在、日本にいるので、タイムゾーンは’Japan’という文字列を指定します。

 

書式

date_default_timezone_set(引数)

 

処理

地域を指定し、その地域の共通の標準時刻を取得する。

 

date_default_timezone_set('Japan')

と指定し、そのあとにdate関数を実行すると、日本の標準時刻を取得することができます。

 

サンプルプログラム

<?php
  date_default_timezone_set('Japan');
  echo '<p>', date('Y/m/d H:i:s'), '</p>';
  echo '<p>', date('Y年m月d日 H時i分s秒'), '</p>';
  echo '<p>', date('Y M j H:i:s'), '</p>';
  echo '<p>', date('Y年m月d日 A H時i分s秒'), '</p>';
  echo '<p>', date('Y M j l H:i:s'), '</p>';
?>

 

実行結果

b5320cf94ba7a662f8976c1282dcfb151

 

 

コラム

コスパとタイパ、両方結果的に良くなる良くなる学び方とは?

「スクールは高いし時間も縛られて効率が悪い」と考える方は多いと思います。
もちろん、時間も費用もかかることは間違いありません。
ただ 結果的に無駄な学びにお金も時間もかける方がリスクが高いという考えもあります。

コスパ・タイパ最適化の参考として、 テックアカデミー卒業生がスクールを選んだ理由 をご紹介します。

  • ・困ったときに、質問や相談できる相手がいるため挫折しなかった
  • ・プロとして必要なスキルのみを深く学べたので無駄がなかった
  • ・副業案件の提供と納品までのサポートがあったので目的を達成できた

安価・短期間で広く浅く学んでも意味がありません。 本当に自分の目的が達成できるか、それが重要です。
自分にどのスキルや学び方が合っているか、どんな学習方法かなど、お気軽に 無料相談 に参加してみませんか?

カウンセラー・現役のプロへ、何でも気軽に無料相談可能。 30分か60分お好きな時間が選べて、かつ3回まで すべて無料で ご利用できます。
無理な勧誘は一切ない ので、お気軽にご参加ください。

今なら相談した方限定の割引・参加特典付き! 無料相談はこちら

おわりに

DATE関数を使った、PHPでの日付を取得する方法はいかがでしたでしたでしょうか。

フォーマットの種類が思ったより豊富で、柔軟にカスタマイズできるようです。ぜひ、一度、試してみてください。

 

大石ゆかり

時刻が表示されました!でも、全部現在の日付と時刻ですね。

田島悠介

省略されてるけど、タイムスタンプを指定すると、その時間帯を一定の書式で表示してくれるんだ。

大石ゆかり

タイムスタンプって何でしょう?

田島悠介

1970年1月1日からの経過秒数なんだ。mktime関数や今回のdate関数を使うと、過去から未来までの時刻を取得・表示できるよ!

 

PHPを勉強していて、

  • もっと効率的に勉強したい
  • 誰かに聞きながら学びたい
  • 自分でWebサービスを作りたい

と思ったことはないでしょうか。

 

そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、オリジナルWebサービスを開発することが可能です。

独学に限界を感じている場合はご検討ください。

この記事を監修してくれた方

中本賢吾(なかもとけんご)
アジマッチ有限会社 代表取締役社長

開発実績:PHPフレームワークを利用した会員制SNS・ネットショップ構築、AWSや専用サーバー下でLinuxを使用したセキュアな環境構築、人工知能を利用したシステム開発、店舗検索スマホアプリ開発など。

その他にも地域の職業プログラマー育成活動を行い、2018年には小学生がUnityで開発したオリジナルAndroidアプリをGooglePlayでリリース。ゲームで遊ぶより作ろうぜ!を合言葉に、小学生でも起業できる技術力を育成可能で有ることを証明し続けている。

初心者・未経験でもできる。まずはテックアカデミーに相談しよう

プログラミングを独学で学習していて、このように感じた経験はないでしょうか?

  • ・調べてもほしい情報が見つからない
  • ・独学のスキルが実際の業務で通用するのか不安
  • ・目標への学習プランがわからず、迷子になりそう

テックアカデミーでは、このような 学習に不安を抱えている方へ、マンツーマンで相談できる機会を無料で提供 しています。
30分間、オンラインでどんなことでも質問し放題です。

「受けてよかった」と感じていただけるよう カウンセラーやエンジニア・デザイナー があなたの相談に真摯に向き合います。

「自分に合っているか診断してほしい」
「漠然としているが話を聞いてみたい」

こんなささいな悩みでも大丈夫です。

無理な勧誘は一切ありません ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)

今なら参加者限定の割引特典付き! 無料相談を予約する