XXII. 日付・時刻関数

導入

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

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

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

要件

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

インストール手順

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

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

実行時設定

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

表 1. Date/Time Configuration Options

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

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

date.default_latitude float

デフォルトの緯度

date.default_longitude float

デフォルトの経度

date.sunrise_zenith float

デフォルトの日出点

date.sunset_zenith float

デフォルトの日没点

date.timezone string

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

注意: 最初の 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  -- タイムゾーンの変遷を返す