[PHP-users 33070] Re: PHP Fatal error: Call to undefined function date_parse()
komura
komura @ ma9.seikyou.ne.jp
2007年 12月 23日 (日) 23:41:03 JST
komura です。
On Fri, 21 Dec 2007 11:13:27 +0900
小野寺淳一 <onodera @ growrise.co.jp> wrote:
> FedoraCore6 + PHP 5.1.6 (cli)
>
> でdate_parseが使えなく、困ってます
>
> PHPのマニュアルでは
> (PHP 5 >= 5.1.3)
>
> となってます。
マニュアルが間違っています。
PHP 5.1.x では date_parse() は使用できません。
PHP 5.2.0 以降では使用可能です。
正確には、PHP 5.1.3 で date_parase() は実験的な関数という扱いで
ソースコードには処理が追加されています。
確か、PHP マニュアルは関数が使用可能になったバージョンを自動的に
取得しているはずでしたので、それがうまくいっていないだけだと思います。
どういった処理を行いたいのか分かりませんが、date_parase() でなくても、
strtotime() の結果を getdate() に渡せば、似たような結果を得られます。
受け取った文字列が日付として処理できるかどうかは strtotime() の結果で
分かります。
http://php.net/getdate
http://php.net/strtotime
どうしても現在お使いの PHP 5.1.6 で date_parse() を使いたい場合は、
ソースコードのコンパイルが必要になります。EXPERIMENTAL_DATE_SUPPORT
というフラグを渡してコンパイルすれば date_parse() が使用可能になります。
また、date_parse() 以外の以下の日付関数も PHP マニュアルでは PHP 5.1.0
追加されたことになっていますが、PHP 5.1.x では、実験的な関数という扱い
になっています。実際に使用できるのは PHP 5.2.0 以降です。
date_create()
date_format()
date_modify()
date_timezone_get()
date_timezone_set()
date_offset_get()
date_time_set()
date_date_set()
date_isodate_set()
timezone_open()
timezone_name_get()
timezone_name_from_abbr()
timezone_offset_get()
timezone_transistions_get()
timezone_identifiers_list()
timezone_abbreviations_list()
--
komura <komura @ ma9.seikyou.ne.jp>
PHP-users メーリングリストの案内