[PHP-users 22321]Re: strtotimeについて
Youichi Iwakiri
yiwakiri @ st.rim.or.jp
2004年 6月 23日 (水) 12:46:15 JST
いわきりです
Tomokazu Kuribayashi wrote in <20040622104720.60CA.K-TOMO99 @ zap.att.ne.jp> :
>> Because strtotime() behaves according to GNU date syntax,
>> have a look at the GNU manual page titled Date Input Formats.
>> Described there is valid syntax for the time parameter.
>strtotimeのヘルプにはこう書かれているので、ミリ秒にも対応し
>てそうな気がするのですが、エラーになってしまうのはPHPの問題
>なのでしょうか?
GNUのマニュアルページを見ると、Date Input Formatsに関して
記述されたページが複数あります。
GNU tarで述べられているものは、ミリ秒を容認しています。
coreutilだと、ミリ秒の記述がありません。
(その他の多くのアプリケーションでも記述がありません。)
GNUのマニュアルも曖昧ですし、PHPのドキュメントが指している
Date Input Formatsが明確で無いというあたりが問題かなと。
>対応策として
>1.selectで取り出す時にto_char関数を使いミリ秒を削除
>2.insertでnow()は使わずにPHPのdate関数で日付を作成
>の2点を考えています。
>皆さんはこういった状況の場合、どう対処されていますか?
>ご意見をお聞かせ下さい。
PHP本家でも、この件に関しては認知していて、PHP5では
修正済みです。PHP4に関しては、CVSからバックポートする
と以前にあったんですが、忘れ去られているような感じです。
下記のバグレポートを見て、
php-src/ext/standard/parsedate.y を修正して、
対処すると言うのが一番良いかもしれません。
http://bugs.php.net/bug.php?id=17988
「PHP-4.3.xでも対応してくれよ」とコメントするのも忘れずに
されると、多くの人が幸せになれます。
--
Youichi Iwakiri
PHP-users メーリングリストの案内