UNIX TIMESTAMPを取得する
PHPに限らず、プログラミングにおいて時間に関するデータを取り扱う場合、利用するのは、この「UNIX TIMESTAMP」です。「UNIX時間」などとも言われます。
UNIX TIMESTAMPとは?
次のような時間データをよく見かけますよね。これがUNIX TIMESTAMPです。
1469671090
これは何かというと、「協定世界時(UTC)を基準にした1970年1月1日の0時0分0秒からの経過秒数」を示しています。時間を秒数、つまり数値として表すことで、「何分経過したか?」などを計算式で求めることができるというわけです。ちなみに、上記は2016年7月28日 10時58分10秒時点のものです。
UNIX TIMESTAMPの活用方法
例えば、次は2014年1月2日 00時00分00秒時点のUNIX TIMESTAMPです。
1388588400
続いて、次が2014年1月3日 00時00分00秒時点のUNIX TIMESTAMPです。
1388674800
この2つの数値の差を計算すると、次のようになります。
1388588400 - 1388674800 = 86400
このように、2つの時点のUNIX TIMESTAMPを求めて、その差がどれくらいあるかで経過時間を判断し、処理を条件分けすることができるというわけです。
time()
関数のtime()
を利用すると、現在(プログラムを起動した時点)のUNIX TIMESTAMPを取得することができます。
PHP
<?php
// UNIX TIMESTAMPを[$timestamp]という変数に格納する
$timestamp = time() ;
// 出力する
echo $timestamp ;
次のように、出力されます。
1469671090
$_SERVER['REQUEST_TIME']
処理を要する関数ではなく、既にデータになっている$_SERVER['REQUEST_TIME']
を利用することで、time()と同じ結果を得られます。こちらの方が処理が速いと言われていますが、そこまで劇的な影響はないでしょう。
PHP
<?php
// $_SERVER['REQUEST_TIME']を出力する
echo $_SERVER['REQUEST_TIME'] ;
次のように、出力されます。
1469671090