https://www.sejuku.net/blog/wp-content/themes/voice_child/images/samurai_logo.png 侍エンジニア塾が運営するプログラミング入門者向け学習情報サイト

忘れたら読みたいPHPの時間(datetime)で使えるメソッド・使い方まとめ

書いた人 山本


侍エンジニア塾ブログは、未経験からWebアプリ開発と仕事獲得をサポートする
侍エンジニア塾のオウンドメディアです。
プログラミング学習を覗き見

PHPでは日付や時刻を扱うにはDateTimeクラスを使用します。

この記事では、

・DateTimeクラスとは
・DateTimeクラスの基本的な使い方
・フォーマットを指定する方法(formatメソッド)

などの基本的な解説から、

・日付を比較する方法
・日付を計算する方法(add)
・タイムゾーンの取得と設定

などの応用的な方法についても解説していきます。

よく忘れるPHPの時間(datetime)処理を行うメソッドやその使い方についてまとめていますので、ぜひご覧になってください。

DateTImeクラスとは

日付や時間を扱った計算や操作を行うには、DateTimeクラスを使用します。

DateTimeクラスはPHP5.2.0以降であれば使用可能です。

DateTimeクラスは以下のように記述します。

引数は指定しない場合は現在の日時を取得することができます。

フォーマットの指定方法(format)

DateTimeクラスで日時のフォーマットを指定するにはformatメソッドを使用します。

formatメソッドは第一引数にフォーマット文字列を指定します。

サポートされているフォーマット文字列については、以下のページに記載されています。
http://php.net/manual/ja/function.date.php

以下ではオブジェクト指向型、手続き型でformatメソッドを使用する方法について紹介します。

オブジェクト指向型

formatメソッドの詳しい使い方については、以下の記事でも詳しく解説しています!

手続き型

日付を比較する方法

DateTimeクラスで取得した日付同士で比較を行うことも可能です。

上の例の出力は以下となります。

タイムスタンプでの比較

文字列での比較

日付は以下のように文字列での比較もできます。

日付を計算する方法(add)

ここでは日付を使用しての計算方法を紹介します。

基本形

加算

diff(日時の差分を取得する)

出力結果:

タイムスタンプ取得

DateTime と DateTimeImmutable

DateTimeImmutableクラスは、基本的にDateTimeクラスと同じメソッドを持ちます。

DateTimeクラスの異なる点はDateTimeImmutableは、自身は変更せずに新しいオブジェクトを返します。

PHP5.5以上が使えるのなら、DateTimeImmutableの方がおすすめです。

関連記事

PHPの日付(date)のメソッドの使い方や、Array(配列)文法・メソッドの使い方については、以下の記事で詳しく解説しています!

網羅的に解説していますので、ぜひ参考にしてくださいね!

まとめ

ここではDateTime関数を使用して、

・DateTimeクラスとは
・formatメソッドを使用して日付をフォーマットする方法
・日付を比較する方法
・日付を計算する方法(add)

などについて解説しました。

DateTimeクラスは日付を扱う上でよく使用しますので、この機会によく覚えておきましょう!

もし、DateTimeクラスの使い方を忘れてしまったら、この記事を思い出してくださいね!


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーでWEBエンジニアをやられている濱口直行さん。33歳で、プログラミングを学び始め、約半年という短い期間で独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


最短でプログラミングを習得したい方へ

元々ITリテラシーのある方やプログラムの学び方がわかっている方は独学で習得することも可能でしょう。

ただし、実際の学習期間中はつまづいている時間がほとんどです。

「もう挫折したくない」
「本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい。」
「自分だけのカリキュラムで効率的に勉強したい」

そんな方はお気軽に侍エンジニア塾までご相談ください。

弊社では、

  • プログラミング基礎学習
  • オリジナルアプリ開発
  • 仕事獲得

までをひと通り学習できます。

まずは無料体験レッスンで、弊社のコンサルタントと一緒にあなた専用の学習方法やカリキュラムを考えてみませんか?

挫折しない学び方や、通常1000時間以上かかる学習時間を1/3にする方法などより具体的なアドバイスもさせていただいています。

詳しくは下の画像をクリックして弊社サービス内容をご確認ください。

cta1

非常識な結果を出した卒業生

活躍する現役エンジニア

人気記事セレクション

LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

山本