ここでは、PHP の date 関数の違いを紹介します。ここでは、date と gmdate の使用方法の違いについて説明します。必要な方は参考にしてください。
date — 現地時間/日付の形式を設定します
日付/時刻関数を使用すると、サーバー上の日付と時刻を抽出してフォーマットすることができます。
注: これらの機能はサーバーのローカル設定に依存します。
インストール
日付/時刻関数は、PHP コアの不可欠な部分です。これらの機能を使用するためにインストールは必要ありません。
ランタイム構成
日付/時刻関数の動作は、php.ini の設定によって影響されます。
日付/時刻構成オプション:
名前 デフォルト 説明 変更可能
date.default_latitude "31.7667" はデフォルトの緯度を指定します (PHP 5 以降で使用可能)。 date_sunrise() と date_sunset() はこのオプションを使用します。 PHP_INI_ALL
date.default_longitude "35.2333" はデフォルトの経度を指定します (PHP 5 以降で使用可能)。 date_sunrise() と date_sunset() はこのオプションを使用します。 PHP_INI_ALL
date.sunrise_zenith "90.83" は日の出の天頂を指定します (PHP 5 以降で使用可能)。 date_sunrise() と date_sunset() はこのオプションを使用します。 PHP_INI_ALL
date.sunset_zenith "90.83" は日没の天頂を指定します (PHP 5 以降で使用可能)。 date_sunrise() と date_sunset() はこのオプションを使用します。 PHP_INI_ALL
date.timezone "" はデフォルトのタイムゾーンを指定します (PHP 5.1 以降で使用可能)。 PHP_INI_ALL
gmdate() 関数は GMT/UTC 日付/時刻をフォーマットします。
date() 関数に似ていますが、返される時間がグリニッジ標準時 (GMT) である点が異なります。
文法
gmdate(フォーマット,タイムスタンプ)
パラメータの説明
形式はオプションです。結果を返す方法を指定します。
タイムスタンプはオプションです。
ヒントとメモ
注: PHP 5.1.0 より前では、負のタイムスタンプ (1970 年より前の日付) は一部のシステム (Windows など) では機能しませんでした。
たとえば、現在のタイムゾーンが +8 の場合、次のスクリプトを実行するサーバーから返される時刻は次のようになります。
現在時刻を2007-03-14 12:15:27とする
コードは次のとおりです | コードをコピー |
echo date(‘Y-m-d H:i:s’, time()); 出力は次のようになります: 2007-03-14 12:15:27 echo gmdate(‘Y-m-d H:i:s’, time()); 出力は次のようになります: 2007-03-14 04:15:27 |
ただし、これは Linux+Apache で PHP を実行した場合の結果にすぎません。Windows で実行すると、2 つの関数は 2007-03-14 04:15:27 を返します。
したがって、互換性のある書き込みメソッドを提供し、一律に gmdate を使用し、現在のタイムゾーンを手動で設定する必要があります。 書き込みメソッドは次のように改善されます。
コードをコピー | |
echo gmdate(‘Y-m-d H:i:s’, time() + 3600 * 8);
|