PHPのtime()関数とは?使い方とサンプルコードをわかりやすく解説
PHPのtime()関数は、現在の時刻をUnixタイムスタンプとして返す組み込み関数です。具体的には、Unixエポック(1970年1月1日 00:00:00 GMT)からの経過秒数を整数値で取得します。日付の計算やログの記録など、時間を扱う処理の基礎となる重要な関数です。
構文
time()
パラメータ
この関数にはパラメータはありません。引数を指定せずにそのまま呼び出します。
戻り値
Unixエポック(1970年1月1日 00:00:00 GMT)から現在までの経過秒数を整数型(int)で返します。
使用例1:来週の日付を計算する
次の例では、time()関数で取得した現在のタイムスタンプに「7日分の秒数」を加算し、来週の日付を求めています。
<?php
$nextWeek = time() + (7 * 24 * 60 * 60);
echo 'Now: '. date('Y-m-d') ."\n";
echo 'Next Week: '. date('Y-m-d', $nextWeek) ."\n";
?>
出力結果
Now: 2018-10-11
Next Week: 2018-10-18
このように、タイムスタンプに対して秒数を足し引きすることで、過去や未来の日付を簡単に計算できます。
使用例2:タイムスタンプを日付形式に変換する
続いて、time()関数で取得した生のタイムスタンプを、date()関数を使って「年-月-日」の形式に変換する例を見てみましょう。
<?php
$res = time();
echo($res . "<br>");
echo(date("Y-m-d", $res));
?>
出力結果
1539245504
2018-10-11
最初の出力がtime()関数が返したUnixタイムスタンプ、2行目がそれをdate()関数で整形した日付文字列です。
time()関数を使う際のポイント
- time()関数が返すのはサーバーの現在時刻であり、php.iniの
date.timezone設定やdate_default_timezone_set()によるタイムゾーン設定の影響を受けます。 - ミリ秒単位の精度が必要な場合は、
microtime(true)を使用するとマイクロ秒まで含めた浮動小数点数で時刻を取得できます。 - タイムスタンプ同士の比較・加算・減算は秒単位で行われるため、「1日」は
24 * 60 * 60(86400秒)として計算します。
-
【PHP入門】filectime()関数の使い方 – ファイルの最終変更時刻を取得する方法
PHPのfilectime()関数は、ファイルの最終変更時刻を取得するための関数です。取得できる時刻はUNIXタイムスタンプ形式で返され、処理に失敗した場合にはfalseを返します。なお、filectime()が返す「変更時刻」は、ファイルの中身だけでなく、パーミッションや所有者などファイルのメタ情報(inode)が変更された時刻も指します。単純にファイル内容の更新日時を知りたい場合はfilemtime()関数を使うとよいでしょう。構文filectime ( file_path );パラメータfile_path − 最終変更時刻を調べたいファイルへのパスを指定します。戻り値filectime(
-
PHPのfileatime()関数とは?使い方とサンプルコードをわかりやすく解説
PHPのfileatime()関数は、指定したファイルに最後にアクセス(読み取りなど)があった日時を取得するための組み込み関数です。取得できる値はUNIXタイムスタンプ形式で返され、ファイルへの最終アクセス時刻をプログラム内で扱えるようになります。ファイルが存在しない場合やアクセス権限がないなど、処理に失敗した場合はfalseを返します。基本構文fileatime ( file_path );パラメータfile_path − 最終アクセス日時を調べたいファイルへのパスを指定します。相対パスでも絶対パスでも指定可能です。戻り値ファイルの最終アクセス時刻をUNIXタイムスタンプ(1970年1月1日