タイムスタンプと現在時刻の取得
そふぃのPHP入門 >> PHP実践リファレンス >> 日付・時刻処理 >> タイムスタンプと現在時刻の取得

タイムスタンプと現在時刻の取得

タイムスタンプとは

日付や時刻を認識する際には○年○月○日だとか○時○分だとかの単位で認識していると思いますがPHPは違います。PHPはどんな日付や時刻でもタイムスタンプという形式で認識します。何年何月だろうと何時何分だろうと、「日時」つまり日付や時間に関わる事なら全てタイムスタンプで認識するのです。

んでは一体タイムスタンプとはどんな値かといいますと、以下のような整数値です。

1493311304

結構な桁数の数が出てきていると思いますが、それが現在のタイムスタンプです。

では、この整数値自体は一体どうゆう形式なんだ?との疑問が湧いてきますが、この整数値の単位は普段からよく使われる単位、「秒」です。PHP君は日付や時刻をすべて「秒」で管理しているのです。

このタイムスタンプという値は「1970年1月1日 00:00:00 GMT」からの通算秒数、つまり「1970年になった瞬間から何秒経っているか」という秒数なのです。GMTというのはグリニッジ標準時の事です。

PHP君がこの形式で日付や時刻の管理をしているので、日付や時刻に関わるような関数には「引数にはタイムスタンプ値を指定しろ」みたいな関数がたくさんあります。タイムスタンプという概念が分からないと日付・時刻関連の処理が理解しづらくなりますので、タイムスタンプはしっかり覚えておいて下さい。補足ですが、単に「タイムスタンプ」と称される事もあれば「Unixタイムスタンプ」と称される事もあります。どちらでも意味は同じですので「どう違うんだ?」とか悩まないで下さい。

現在のタイムスタンプを取得する―time()関数

現在のタイムスタンプを取得するには、time()を使用します。

参考関数

  • time() ---- 現在のUnixタイムスタンプを取得する

書式

  • int time( void )

time()関数には引数が必要ありません。常に

  1. time();

として使います。

返り値は現在のタイムスタンプ値を返します。

お気づきかもしれませんが、冒頭でタイムスタンプの例として出した数値はこの関数の値を出力しているだけです。

  1. <?php
  2. echo time();
  3. ?>

出力結果

1493311304

さて、このtime()関数で現在のタイムスタンプ、つまり年月日を全て含む現在時刻を秒単位まで取得できた訳ですが、このままだとあまり役に立ちませんね。PHPにとっては分かりやすい形式かもしれませんが、人が読むのにはちょっと苦労します。

この数値はPHPが日付や時刻を処理する為に使用している数値ですが、できればこの数値を「年」や「月」で取得したいと思います。この後のページではそういった処理を解説していきます。