PHPでタイムスタンプや現在時間を取得する
クライアントワークで時間を出力するような要件があったので、備忘録として残しておきたいと思います。ちなみに今回はPHPで実装する場合になります。本記事ではタイムスタンプという形式と現在日時をなじみの書式で出力するパターンについてまとめていきたいと思います。
これ以外にもいろんな書式が用意されています。詳しくは公式のドキュメントを参考にどうぞ。
【PHP: date - Manual】
https://www.php.net/manual/ja/function.date.php
いかがでしょうか、今回はPHPを使って日時を取得したり出力する例をまとめてみました。ウェブアプリケーションなどの機能実装では登場する場面もあるかと思いますので、ぜひご参考にどうぞ。 【参考にさせて頂いたサイト】 PHPで時間を取得、表示する方法まとめ
タイムスタンプや現在日時・時間の取得
まずはタイムスタンプの値を取得し表示させる例になります。PHPではUNIX時間の値になります。このタイムスタンプの値はtime()関数で取得することができます。 【PHP】<?php $timestamp = time(); echo $timestamp ?> // 出力 1561467188このようにUNIX時間の値になります。ちなみにUNIX時間は協定世界時での1970年1月1日の午前0時0分0秒を起算とする秒数になります。 続いて現在日時を取得していろんなフォーマットに変換して表示する方法です。まずは先ほどと同じくtime()関数でタイムスタンプを取得します。そして、date()関数の第二引数に渡してあげます。第一引数にはフォーマットを指定することで、下記のように出力することができます。第二引数のタイムスタンプは省略することも可能です。 【PHP】
<?php $timestamp = time(); echo date('Y年m月d日 H時i分s秒',$timestamp); ?> // 出力 2019年06月25日 21時56分30秒date()関数で使えるフォーマットにはいろんな種類がありますが、ここではよく目にする書式をピックアップしてまとめています。
Y年m月d日 | 4桁の西暦と2桁(1桁はゼロパディング)の月と日 例【2019年06月25日】 |
---|---|
H時i分s秒 | 24時間表記の時間と分と秒(1桁はゼロパディング) 例【22時03分05秒】 |
M dS l | 月名の英字略称と序数表記の日にち、英字の曜日 例【Jun 25th Tuesday】 |
n/d Ah:i | スラッシュ区切りの月と日(ゼロパディングなし)とAM、PM表記の時間 例【6/25 PM10:03】 |
DATE_RFC3339 | RFC 3339日付形式(定数として扱われる) 例【2019-06-25T22:16:16+09:00】 |
和暦の曜日を表示させる
先ほどの書式でも曜日を取得できますが、日本固有の和暦の曜日は用意されていないため、曜日を表す数値を取得できる書式を使って値に対応するように曜日を用意しなければいけません。ここでは配列に入れた曜日のデータを変数として用意し、配列のインデックスがdate()関数の曜日を取得できるフォーマットの「w」の返り値に対応させることで、曜日が表示されるようになっています。 【PHP】<?php $week = array('日', '月', '火', '水', '木', '金', '土'); echo $week[date('w')]. '曜日'; ?> // 出力 火曜日
過去、未来の指定した日時を取得する
また、何日前、何年後などといった指定した日時も取得・出力することも可能です。指定した日付のタイムスタンプを取得する、strtotime()関数を使います。引数には特定の日時や現在からの日時単位で指定することも可能です。ここでは過去や未来の日時単位を指定することで取得する方法になります。 【PHP】<?php $term = 15; $past = strtotime('-'. $term. 'day'); $future = strtotime('+'. $term. 'day'); echo $number. '日前の日付は'. date('m月d日', $past). 'です'; echo $number. '日後の日付は'. date('m月d日', $future). 'です'; ?> // 出力 15日前の日付は06月10日です 15日後の日付は07月10日ですstrtotime()関数の引数には、過去や未来を正負の値で指定します。そして日時の単位も合わせて指定します。これで指定した日時のタイムスタンプの値を取得できるので、先ほどと同じようにdate()関数の引数に渡して、任意のフォーマットで出力する形になります。 また、strtotime()関数で使える日時単位の指定例を下記にまとめています。何日後、何年前などの決まった日時であれば覚えておくと便利ですね。
+X year / -X year | X年後、X年前で指定する |
---|---|
+X month / -X month | Xヶ月後、Xヶ月前で指定する |
+X week / -X week | X週間後、X週間前で指定する |
+X day / -X day | X日後、X日前で指定する |
+X hour / -X hour | X時間後、X時間前で指定する |
+X minute / -X minute | X分後、X分前で指定する |
+X second / -X second | X秒後、X秒前で指定する |
いかがでしょうか、今回はPHPを使って日時を取得したり出力する例をまとめてみました。ウェブアプリケーションなどの機能実装では登場する場面もあるかと思いますので、ぜひご参考にどうぞ。 【参考にさせて頂いたサイト】 PHPで時間を取得、表示する方法まとめ
sponserd
keyword search
recent posts
- Shopifyでオリジナルテーマ制作やテーマカスタマイズで使えるTips #3
Shopifyでオリジナルテーマ制作やテーマカスタマイズで使えるTips #3
- Shopifyでオリジナルテーマ制作やテーマカスタマイズで使えるTips #2
Shopifyでオリジナルテーマ制作やテーマカスタマイズで使えるTips #2
- Shopifyでオリジナルテーマ制作やテーマカスタマイズで使えるTips #1
Shopifyでオリジナルテーマ制作やテーマカスタマイズで使えるTips #1
- ViteでReactとReact Routerを使ってみる
ViteでReactとReact Routerを使ってみる
- ViteでPugのコンパイル環境を導入する
ViteでPugのコンパイル環境を導入する
- ViteでMarkuplintとPrettierを使える環境を構築する
ViteでMarkuplintとPrettierを使える環境を構築する
- ViteでStylelintとESlintを使える環境を構築する
ViteでStylelintとESlintを使える環境を構築する
- マウスオーバーしたセルを含む行列がハイライトするテーブルを作成する:has()擬似クラスの活用例
マウスオーバーしたセルを含む行列がハイライトするテーブルを作成する:has()擬似クラスの活用例
categories