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 以降で利用可能 |
以下に設定ディレクティブに関する 簡単な説明を示します。
-
date.default_latitudefloat -
デフォルトの緯度
-
date.default_longitudefloat -
デフォルトの経度
-
date.sunrise_zenithfloat -
デフォルトの日出点
-
date.sunset_zenithfloat -
デフォルトの日没点
-
date.timezonestring -
環境変数
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() が返す結果の書式を指定します。
- 目次
- 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 -- タイムゾーンの変遷を返す