[PHP-users 22307]Re: strtotimeについて
YOSHIMURA Keitaro
ramsy @ ramix.jp
2004年 6月 22日 (火) 13:24:06 JST
らむじぃです。
> timestamp型に対しPostgreSQLのnow()関数などを使うと、ミリ秒
> のデータまで入ります。(2004-01-01 12:10:10.49532のような)
> データをselectで取り出し、そのままstrtotimeに渡すとエラーに
> なります。ミリ秒の部分をなくすと正常に変換されます。
「正常に」というのは、望んだとおりの日付が取り出せたんでしょうか?
> > 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はそもそも1秒未満は扱えなかったとおもいます。
つまりはそういうもの。
因みに手元(Vine-2.6)のdateコマンドマニュアルでは
SYNOPSIS
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
です。
> 対応策として
> 1.selectで取り出す時にto_char関数を使いミリ秒を削除
> 2.insertでnow()は使わずにPHPのdate関数で日付を作成
> の2点を考えています。
1.1. dateコマンドのsyntaxにそうようにnow()の出力結果を加工
DBサーバとWebサーバの時間がずれているのは考えにくいですが、どちらの時計
を基準にすべきかを考えて選べばいいのではないでしょうか。
--
<|> YOSHIMURA Keitaro/ramsy
<|> ramsy @ ramix.jp
<|> http://ramix.jp/~ramsy/
PHP-users メーリングリストの案内