2007年12月23日

[PHP-users 33070] Re: PHP Fatal error: Call to undefined functiondate_parse()

komura です。

On Fri, 21 Dec 2007 11:13:27 +0900
小野寺淳一 <onodera@xxxxx> 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@xxxxx>
_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3

投稿者 xml-rpc : 2007年12月23日 23:41
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/67923
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。