owned mediaウェブ制作に役立つコンテンツを発信中!

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】
  これ以外にもいろんな書式が用意されています。詳しくは公式のドキュメントを参考にどうぞ。 【PHP: date - Manual】 https://www.php.net/manual/ja/function.date.php  
和暦の曜日を表示させる
先ほどの書式でも曜日を取得できますが、日本固有の和暦の曜日は用意されていないため、曜日を表す数値を取得できる書式を使って値に対応するように曜日を用意しなければいけません。ここでは配列に入れた曜日のデータを変数として用意し、配列のインデックスが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で時間を取得、表示する方法まとめ
  • はてなブックマーク
  • Pocket
  • Linkedin
  • Feedly

この記事を書いた人

Twitter

sponserd

    keyword search

    recent posts

    • Twitter
    • Github
    contact usscroll to top
      • Facebook
      • Twitter
      • Github
      • Instagram