[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 メーリングリストの案内