XXII. 日付・時刻関数

導入

以下の関数により、PHPスクリプトを実行するサーバから日付と時間を取 得することが可能となります。多くの異なる方法で日付や時間をフォー マットするためにこれらの関数を使用することができます。

注意: これらの関数は、使用するサーバのロケールの設定に依存していること に注意してください。これらの関数を使用する際にはサマータイム (例えば、.$date += 7*24*60*60ではなく、 $date = strtotime('+7 days', $date) とする) および閏年を必ず考慮に入れるようにしてください。

注意: この節で参照しているタイムゾーンは、 付録J で見つけられます。

要件

外部ライブラリを必要としません。

インストール手順

PHP コアに含まれるため、 追加のインストール無しで使用できます。

注意: 最新バージョンのタイムゾーンデータベースは、PECL の timezonedb からインストールできます。Windows ユーザ向けには、コンパイル済みの DLL php_timezonedb.dll が PECL4Win サイトからダウンロードできます。

実行時設定

php.ini の設定により動作が変化します。

表 1. Date/Time Configuration Options

名前デフォルト変更の可否変更履歴
date.default_latitude"31.7667"PHP_INI_ALLPHP 5.0.0 以降で利用可能
date.default_longitude"35.2333"PHP_INI_ALLPHP 5.0.0 以降で利用可能
date.sunrise_zenith"90.83"PHP_INI_ALLPHP 5.0.0 以降で利用可能
date.sunset_zenith"90.83"PHP_INI_ALLPHP 5.0.0 以降で利用可能
date.timezone"GMT"PHP_INI_ALLPHP 5.1.0 以降で利用可能
PHP_INI_* 定数の詳細および定義については 付録I を参照してください。

以下に設定ディレクティブに関する 簡単な説明を示します。

date.default_latitude float

デフォルトの緯度

date.default_longitude float

デフォルトの経度

date.sunrise_zenith float

デフォルトの日出点

date.sunset_zenith float

デフォルトの日没点

date.timezone string

環境変数 TZ が設定されていない場合、 全ての日付/時刻関数で使用されるデフォルトのタイムゾーン。 優先順については、date_default_timezone_get() のページで解説されています。サポートしているタイムゾーンについては 付録J を参照ください。

注意: 最初の 4 つの設定オプションは現時点で date_sunrise()date_sunset() でのみ使用されます。

リソース型

リソース型は定義されていません。

定義済み定数

以下の定数は PHP 5.1.1 以降で定義されており、標準的な日付の書式を表します。 日付フォーマット関数(date() など)で使用します。

DATE_ATOM (string)

Atom (例: 2005-08-15T15:52:01+00:00)

DATE_COOKIE (string)

HTTP クッキー (例: Monday, 15-Aug-05 15:52:01 UTC)

DATE_ISO8601 (string)

ISO-8601 (例: 2005-08-15T15:52:01+0000)

DATE_RFC822 (string)

RFC 822 (例: Mon, 15 Aug 05 15:52:01 +0000)

DATE_RFC850 (string)

RFC 850 (例: Monday, 15-Aug-05 15:52:01 UTC)

DATE_RFC1036 (string)

RFC 1036 (例: Mon, 15 Aug 05 15:52:01 +0000)

DATE_RFC1123 (string)

RFC 1123 (例: Mon, 15 Aug 2005 15:52:01 +0000)

DATE_RFC2822 (string)

RFC 2822 (Mon, 15 Aug 2005 15:52:01 +0000)

DATE_RFC3339 (string)

DATE_ATOM と同じ (PHP 5.1.3 以降)

DATE_RSS (string)

RSS (Mon, 15 Aug 2005 15:52:01 +0000)

DATE_W3C (string)

World Wide Web コンソーシアム (例: 2005-08-15T15:52:01+00:00)

以下の定数は PHP 5.1.2 以降に存在し、関数 date_sunrise() および date_sunset() が返す結果の書式を指定します。

SUNFUNCS_RET_TIMESTAMP (integer)

タイムスタンプ

SUNFUNCS_RET_STRING (integer)

時:分 (例: 08:02)

SUNFUNCS_RET_DOUBLE (integer)

時刻を表す浮動小数点値 (例 8.75)

目次
checkdate -- グレグリオ歴の日付/時刻の妥当性を確認します
date_create -- 新しい DateTime オブジェクトを返す
date_date_set -- 日付を設定する
date_default_timezone_get --  スクリプト中の日付/時刻関数で使用されるデフォルトタイムゾーンを取得する
date_default_timezone_set --  スクリプト中の日付/時刻関数で使用されるデフォルトタイムゾーンを設定する
date_format -- 指定した書式でフォーマットした日付を返す
date_isodate_set -- ISO 日付を設定する
date_modify -- タイムスタンプを変更する
date_offset_get -- 夏時間のオフセットを返す
date_parse -- 指定した日付に関する詳細な情報を連想配列で返す
date_sun_info -- 日の出/日の入り時刻と薄明かり (twilight) の開始/終了時刻の情報を含む配列を返す
date_sunrise --  指定した日付と場所についての日の出時刻を返す
date_sunset --  指定した日付と場所についての日の入り時刻を返す
date_time_set -- 時刻を設定する
date_timezone_get -- 指定した DateTime に関連するタイムゾーンを返す
date_timezone_set -- DateTime オブジェクトのタイムゾーンを設定する
date -- ローカルの日付/時刻を書式化する
getdate -- 日付/時刻情報を取得する
gettimeofday -- 現在の時間を得る
gmdate -- GMT/UTC の日付/時刻を書式化する
gmmktime -- GMT 日付から Unix タイムスタンプを取得する
gmstrftime --  ロケールの設定に基づいて GMT/UTC 時刻/日付をフォーマットする
idate -- ローカルな時刻/日付を整数として整形する
localtime -- ローカルタイムを得る
microtime --  現在の Unix タイムスタンプをマイクロ秒まで返す
mktime -- 日付を Unix のタイムスタンプとして取得する
strftime --  ロケールの設定に基づいてローカルな日付・時間をフォーマットする
strptime --  strftime() が生成した日付/時刻をパースする
strtotime --  英文形式の日付を Unix タイムスタンプに変換する
time -- 現在の Unix タイムスタンプを返す
timezone_abbreviations_list -- 夏時間、オフセットおよびタイムゾーン名を含む連想配列を返す
timezone_identifiers_list -- すべてのタイムゾーン識別子を含む配列を返す
timezone_name_from_abbr -- 略称からタイムゾーン名を返す
timezone_name_get -- タイムゾーンの名前を返す
timezone_offset_get -- GMT からのタイムゾーンのオフセットを返す
timezone_open -- 新しい DateTimeZone オブジェクトを返す
timezone_transitions_get -- タイムゾーンの変遷を返す