date・DateTimeなどヤマシタ2017/4/182018/9/4こんにちは!フリーエンジニアのヤマシタです。PHPにはdate関数やDateTimeクラスを使用して日付をさまざまなフォーマットに変換することができます。・日時をチェックする方法(strptime,checkdate)・曜日を取得する方法などの応用的な使い方に関しても解説していきます。まとめdate関数でフォーマットここではdate関数を使用して日付をフォーマットする方法を紹介します。date関数とはdate関数はローカルの日付や時刻を書式化する関数で、日付を扱う処理でよく使用されます。date関数で日付のフォーマットを指定する場合は、以下のように記述します。タイムスタンプ])引数:第一引数のフォーマット文字には文字列型日付のフォーマットを指定します。第二引数にはUnixタイムスタンプを使用します。経過秒数を指します)Unixタイムスタンプを省略した場合は現在の時刻が取得できます。6:土)・・・例)2(火)l:曜日(Sunday〜Saturday)返り値:書式化された日付文字列を返します。第二引数のタイムスタンプは数字以外が指定された場合はFALSEを返し、ワーニングエラーが発生します。日付・日時をフォーマットする以下にdate関数を使用して、日付や日時のフォーマット指定する簡単なサンプルプログラムを紹介します。09時24分32秒サンプルプログラムでは年月日を指定するためのy・m・dや時刻を指定するH・i・sを引数に指定しています。date関数の第二引数であるタイムスタンプは指定していないため、ここでは現在の日時が出力されます。以下のように曜日を取得することも可能です。Thursday日付・日時をミリ秒単位でフォーマットする日付をミリ秒単位で取得するためには、micortime関数を使用します。(bool)引数:TRUEを指定すると、floatの値を返します。返り値:現在のUnixタイムスタンプをマイクロ秒単位まで返します。02:12:33.77microtime関数を使用すれば、このようにミリ秒単位で日時が取得できることがわかりますね!DateTimeクラスでフォーマットここではDateTimeクラスを使用して日付をフォーマットする方法を紹介します。DateTimeクラスとは日付や時刻を指定した書式でフォーマットして取得したい場合は、DataTimeクラスを使用する方法もあります。DateTimeクラスは日付をオブジェクトとして扱うクラスです。日付をフォーマットするにはDateTimeクラスのオブジェクトに対してformatメソッドを指定します。$フォーマット)引数:$フォーマットには日付の書式を指定します。日付・日時をフォーマットする以下にDataTimeクラスのformatメソッドを使用して、現在の日時でフォーマットする方法を紹介します。18:45:26DateTimeクラスのインスタンス生成時に引数を指定しないと、現在の日時を取得したオブジェクトを作成します。作成したDatetimeクラスのオブジェクトに対してformatメソッドを使用し、引数に日時のフォーマットを指定することで、フォーマットされた日時を取得できます。日付を指定してフォーマットしたい場合は、以下のように記述します。2018年12月4日strtotime関数で指定した日時でフォーマットstrtotime関数とは指定した日時でフォーマットするには、date関数の第二引数にstrtotime関数を使用して、日付文字列をUnixタイムスタンプに変換します。返り値:処理が成功するとUnixタイムスタンプを返し、失敗するとFALSEを返します。以下にdate関数で引数に日付文字列を指定して、日時に変更する方法を記述します。00時00分00秒サンプルプログラムでは文字列型の日付を設定し、strtotime関数でUnixタイムスタンプ(1970年からの通算秒)に変換した値を、date関数で指定したフォーマットで日付を設定しています。日時をチェックする方法ここでは、strptime関数とcheckdate関数を使用した日付のチェック方法を紹介します。指定した日付の形式が正しいかチェックするには、strptime関数を使用します。フォーマット)引数:第一引数には文字列型日付を指定します。第二引数にはdate関数で使用されているフォーマットを指定します。返り値:成功した場合は配列を返し、失敗した場合はFALSEを返します。指定した日付が正しいかチェックするには、checkdate関数を使用します。年)引数:第一引数に月、第二引数に日、第三引数に年を指定します。返り値:指定した日付が有効な場合はTRUE、違う場合はFALSEを返します。'存在しない日付です';}実行結果:正しい日付です曜日を取得する方法date関数の引数に’w’を指定すれば曜日番号を取得することが可能です。以下のように記述すれば、本日の日付から曜日番号が取得できます。2019年7月27日date関数についてもっと詳しく知りたい方へdate関数のさまざまな使い方については、以下の記事でもまとめていますので、ぜひ参考にしてくださいね!ここで紹介したフォーマットや曜日を取得する以外でも、タイムゾーンの指定方法や日付を比較する方法についても解説しています。checkdate)・曜日を取得する方法などのさまざまなフォーマット指定の方法やチェック、曜日の取得方法について解説しました。PHPに限らず、システム開発において日付のデータは作業履歴やログ・ファイル出力時など、さまざまな処理で使われる非常に重要な情報となります。date関数の使用方法を忘れてしまったら、この記事を思い出してくださいね!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。無料体験レッスンを予約する書いた人ヤマシタシステムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部としてこれまでに200記事以上の記事を執筆。大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。