PHPで現在の年月日時分秒を取得するコード例まとめてみた

PHPで現在日時を取得するには date_format  関数を使います。

というか、JavaScriptみたいに個別に取得できるメソッドはありません。

▼ 参考記事

上記事みたいに、JSだとDateオブジェクトを使えばアレコレ取得できるって話でした。

ただPHPの場合、これに該当するオブジェクト・関数がありません。

なので代わりに date_format  関数を使うしかないみたいです。

あと僕はそこそこ忘れっぽいので、
この関数を使い PHP で年月日時分秒を取得するコード例 をまとめてみました。

現在年(year)を取得するPHPコード例

現在年は date_format  関数に書式文字 Y  を渡すことで取得可能

▼ 具体的な年取得のコード例

 

ちなみに下2桁だけでいいなら、 Y  の代わりに y  を使ってもOK

▼ 下2桁だけ取得するコード例

現在月(month)を取得するPHPコード例

現在月は date_format  関数の書式文字に m  を渡すことで取得可能

▼ 現在月を表示してるコード例

 

また数字ではなく、Jan とか Apr とか Jul とか・・・
そういう略称での月名は書式文字に M  を渡せば取得できます。

現在日(day)を取得するPHPコード例

現在日は date_format  関数に書式文字として d  を渡して取得可能

ただし、範囲は 01  ~ 31  の間(先頭に 0 がつく)

▼ 現在日を表示するコード例

ちなみに先頭に0を付けたくない場合は、 d  の代わりに j  を渡します。

現在時(hour)を取得するPHPコード例

現在時は date_format  に書式文字として、

  • G  を渡すと24時間単位(0~24)
  • g  を渡すと12時間単位(0~12)

・・・という風に取得できる。

 

▼ 24時間単位で現在時を表示するコード例

▼ 12時間単位で現在時を表示するコード例

12時間単位だと紛らわしい。使わない方がいいかも

現在分(minute)を取得するコード例

現在分は date_format  の書式文字として i  を渡せば取得可能

ただし、その範囲は 00 ~ 59 までということに注意、60は含まれない

▼ 現在分を表示しているコード例

分については必ず 0 パディングする形式でしか取得できない

例えば 01  とか 04  とか 06  とか・・・

現在秒(second)を取得するコード例

現在秒は date_format  の書式文字として s  を渡す

ただし、返される値は 00 ~ 59 までであることに少し注意、60は含まれない

▼ 現在秒を表示しているコード例

ちなみに date 関数は2038年問題があるから使わない方がいい

今紹介したのが date_create  関数を使った日時の取得コード例

実はこれと同じことは date  関数を使ってもできます。

 

▼ 例えば現在日時を表示するコード例

できるといえばできます。

ただ2038年問題の温床になるので、なるべく使わない方が安全

▼ 2038年問題については次の記事をチェック

date  は内部的に int型 を使ってるので、32ビット環境だと2038年に限界を迎えます。

一方、 date_create  は DateTime  クラスのエイリアス、
内部的に日時を別々に扱うので、2038年問題とか気にせず使えるので安全ですね。

もし64ビット環境だとしても、date関数はなるべく使うのを避けた方がいいです。

ここまでのまとめ

以上、PHPで現在日時を取得するコード例でした。

時々「どうやるんだっけ」と分からなくなるので、まとめてみました。ではでは($・・)/~~~

PHP

Commentsこの記事についたコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください