【PHP】PHPで日付比較をする方法
【PHP】
PHPで日付比較をする方法
「PHP」で日付を扱う関数は、いくつかあります。
・filemtime()関数 - ファイルの更新時刻を取得する
・filectime() - ファイルの inode 変更時刻を取得する
・stat() - ファイルに関する情報を取得する
・touch() - ファイルの最終アクセス時刻および最終更新日をセットする
・getlastmod() - 最終更新時刻を取得する
・time()関数 - 現在の「UNIXタイムスタンプ」を取得する
・date()関数 - フォーマットを指定した日付の文字列を取得する
・strtotime()関数 - 日付表現をUNIXタイムスタンプに変換する
など。
「UNIXタイムスタンプ」というのは、
「1970年1月1日」から経過した秒数のことで、
「UNIXタイムスタンプ」を比較して、
大きな数字であれば、新しいファイルと判断できます。
秒数を差し引くことで、過去の時間のタイムスタンプに変更できるので、
過去時間より古いか、新しいかの判断も簡単にできる。
過去の時間のタイムスタンプの算出方法
1時間前のタイムスタンプ
1(時間) × 60(分) × 60(秒)= 3600秒
現在のタイムスタンプ - 3600 = 1時間前のタイムスタンプ
2時間前のタイムスタンプ
2(時間) × 60(分) × 60(秒)= 7200秒
現在のタイムスタンプ - 7200 = 2時間前のタイムスタンプ
関数の書式
「filemtime()」関数
$ファイル名 = filemtime ("ファイルパス");
ファイルの比較であれば、
取得した値が大きい方が新しい。
if(filemtime("FileAのURL") > filemtime("FileBのURL")){
echo "FileAが新しい";
}else{
echo "FileBが新しい";
}
「time()」関数
$変数名 = time()
現在時刻を「Unix エポック (1970 年 1 月 1 日 00:00:00 GMT)」からの通算秒を返してくれる。
指定時間分の秒数を引くと、
過去の時間より古いファイルかどうかの判定ができる。