« 2005年06月18日 | メイン | 2005年08月17日 »
2005年08月15日
時間の取得
時間の取得方法は色々あります。目的に応じて使い分けてみよう。
■年月日時を取得
date関数を使ってみる。
例1
print date("Y-m-d H:i:s");
結果例1
2005-08-15 20:30:25
例2
print date("Y年m月d日 H時i分s秒");
結果例2
2005年08月15日 20時30分25秒
このように、フォーマットを自由にできる。
曜日も出力できるが、英語となる。
日本語の曜日を出力したい場合は、strftime関数を使う。
例
setlocale (LC_TIME, "ja_JP");
print strftime ("%Y年%m月%d日(%a) %H時%M分%S秒");
結果例
2005年08月15日(月) 20時30分25秒
上記のsetlocaleが使えないサーバーの場合、曜日変換ルーチンを組む。
$youbi = array('日','月','火','水','木','金','土');
$time = time();
print date("Y年m月d日(".$youbi[gmdate("w",$time)].") H時i分s秒", $time);
結果例
2005年08月15日(月) 20時30分25秒
time関数は、UNIX時(1970年1月1日)からの秒数を得ます。
■海外サーバーの場合
gmdate関数を使い、グリニッジ標準時を得ます。
使い方はdate関数を同じです。
例
print gmdate("M d Y H:i:s", time()+9*60*60);
日本は、GMT+9なので、9時間を足すと日本時間となります。
■応用:ファイルの日付と現在の日付の差を取得する
$Diff = (time() - filemtime($filename))/60/60;
$Diffには、ファイルが作られてから何時間経過したかが入ります。
日数の差を求める場合 /24 を追加。
$Diff = (time() - filemtime($filename))/60/60/24;