php5 スクリプトで Oracle データベースからデータを取得しています。特定のタイムスタンプ形式が返されるようにしたいと考えています。Oracle自体のステートメントに似たステートメントがトリックを行うというSOの回答を見つけました:
$stid = oci_parse ($connection, "alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss.ff3'");
oci_execute ($stid);
これにより、後続のクエリが次のようになることが保証されます
$stid = oci_parse ($connection, 'select * from table');
oci_execute ($stid);
タイムスタンプ形式が正しい形式で返されます。
しかし、私が何をしても、私は常に次のようなフォーマットを取得します
28-NOV-12 05:37:24.000000 PM
私の質問は次のとおりです。何が問題なのですか? 必要なタイムスタンプ形式を確実に取得するためにphpで実行するステートメントは何ですか?
副次的な質問: php がタイムスタンプを ISO 8601 形式で取得するようにするにはどうすればよいですか?
その場合に「Z」を確保する方法、したがって2012-11-28T16:37:24.000+01:00のような文字列ではありませんか?