【PHP】DateTimeインスタンスをnewで生成するやり方について解説します

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在5社経験している、12年目エンジニアです。

この記事では、 PHPでDateTimeインスタンスをnewで生成するやり方について

  • DateTimeインスタンスをnewで生成するやり方
  • DateTimeインスタンスをnewで生成するときの注意点
  • サンプルプログラム

と、丁寧に解説していきます。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows11
PHPのバージョン 8.2.4
XAMPPのバージョン 8.2.4

PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、下の記事をご参考ください。

DateTimeインスタンスをnewで生成するやり方

DateTimeインスタンスをnewで生成するやり方を解説します。

DateTimeインスタンス生成する基本は

で生成できます。
引数を設定していないので、変数resultには実行しているPHPのタイムゾーンを基にして実行した日時の

というようなDateTimeインスタンスが生成されて返されます。

タイムゾーンを確認するやり方はこちらの記事をご参考ください。

newするときに、

という引数を指定することができます。
指定すると、指定した引数に沿ったDateTimeインスタンスが生成されて返されます。
上記だと

  • 変数result1には実行日時の明日
  • 変数result2には実行日時の昨日
  • 変数result3には2020年2月2日

のDateTimeインスタンスがそれぞれ返されます。

ほかにも引数には

  • last week
  • -1 week
  • next month
  • first day of March

というような値を指定することができます。

第二引数を指定すると、第二引数で設定されているタイムゾーンを基にしてDateTimeインスタンスを生成して返します。

まとめるとDateTimeインスタンスをnewで生成するときに指定できる引数は

第一引数(任意) DateTimeインスタンスを生成したい日時
第二引数(任意) 生成する基にするタイムゾーン

です。

DateTimeインスタンスをnewで生成するときの注意点

DateTimeインスタンスをnewで生成するときの注意点は、2点あります。

1点目は第一引数に指定する値は、意味が通るものを指定する、という点です。
たとえば

とただの文字列を指定して実行すると
PHPのDateTimeインスタンスをnewで生成するやり方を解説します

例外が発生します。

2点目は第二引数に指定する値は、存在するタイムゾーンを指定する、という点です。
たとえば

というような存在しないタイムゾーンを指定して実行した場合
PHPのDateTimeインスタンスをnewで生成するやり方を解説します

例外が発生します。

第一、第二引数に値を設定する場合は、ご注意ください。

では、次の章で実際に使ってみます。

DateTimeインスタンスをnewで生成を解説するプログラムの概要

DateTimeインスタンスをnewで生成を解説するプログラムでは、第一引数に様々な値を設定して10種類のDateTimeインスタンスを生成します。
生成されたDateTimeインスタンスを表示させて確認します。

phpプログラムは

C:\xampp\htdocs

配下に、【sample.php】というファイル名で格納しています。
PHPのDateTimeインスタンスをnewで生成するやり方を解説します

PHPサンプルプログラム

実行結果

XAMPPを起動して、【http://localhost/sample.php】のURLにアクセスします。

XAMPPでPHPの動かし方については、こちらの記事をご参考ください。

PHPのDateTimeインスタンスをnewで生成するやり方を解説します
引数に指定した値でDateTimeインスタンスを生成できていることが確認できました!

まとめ:DateTimeインスタンスをnewで生成してみよう!

以上がDateTimeインスタンスをnewで生成するやり方についての解説でした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました