date

(PHP 3, PHP 4 )

date -- ローカルの日付/時刻を書式化する

説明

string date ( string format, int [timestamp])

指定された引数 timestamp を、与えられた フォーマット文字列によりフォーマットし、日付文字列を返します。 タイムスタンプが与えられない場合は、現在のローカル時刻が使われま す。

注意 有効なタイムスタンプの範囲は通常 Fri, 13 Dec 1901 20:45:54 GMTからTue, 19 Jan 2038 03:14:07 GMTまでです。 (これらの日付は、32ビット符号付き整数の最小および最大値に対応し ます。)

日付の文字列表現からタイムスタンプを生成するには、 strtotime()を使用できる可能性があります。加 えて、いくつかのデータベースは、(MySQLのUNIX_TIMESTAMP関数のよ うな)日付フォーマットからタイムスタンプに変換する関数を有してい ます。

フォーマット文字列では、以下の文字が認識されます。

フォーマット文字列中の認識されない文字は、そのまま表示されます。 gmdate()で使用した場合、"Z"フォーマットは常に"0"を 返します。

例 1date() の例

echo date ("l dS of F Y h:i:s A");
echo "July 1, 2000 is on a " . date ("l", mktime(0,0,0,7,1,2000));

前にバックスラッシュを付けてエスケープすることにより、フォーマッ ト文字列として認識される文字が展開されることを防止することができ ます。バックスラッシュ付きの文字は既に特別なシーケンスであり、バッ クスラッシュもエスケープすることが必要となる可能性があります。

例 2date()の文字をエスケープする

echo date("l \\t\h\e jS"); // 'Saturday the 8th'のように出力

date()mktime() の 両方を用いて未来または過去の日付を知ることができます。

例 3 date()mktime()の例

$tomorrow  = mktime (0,0,0,date("m")  ,date("d")+1,date("Y"));
$lastmonth = mktime (0,0,0,date("m")-1,date("d"),  date("Y"));
$nextyear  = mktime (0,0,0,date("m"),  date("d"),  date("Y")+1);

注意 サマータイムがあるため日付や月の秒数を単純にタイムスタンプに可 減算するよりもより信頼性があります。

date() フォーマットのいくつかの例を示します。 現在の実装で特別な意味がある文字や今後のPHPのバージョンで意味が割 り付けられるであろう文字については、望ましくない結果を避けるため にエスケープする必要があることに注意して下さい。エスケープをする 際には、改行文字 \n のような文字を回避するためにシングルークオー トを使用して下さい。

例 4 date() によるフォーマット

/* 今日は、March 10th, 2001, 5:16:18 pm です。 */
$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, m, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day z ');  // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // It is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 15:16:08 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:17 m is month
$today = date("H:i:s");                         // 17:16:17

他の言語で日付をフォーマットするためには、 setlocale() および strftime() 関数を使用する必要があります。

getlastmod(), gmdate(), mktime(), strftime(), time()も参照下さい。