-2

CakePHP アプリケーションを MySQL から PostgreSQL に変換しています。以前は、CakePHP ORM を使用してタイムスタンプ値をstrtotime取得し、実行して UNIX タイムスタンプを取得できました。

CakePHP を使用してfindレコードを取得しようとすると、タイムスタンプが2013-07-16 16:33 PM.

秒精度の解析可能なタイムスタンプが必要です。この動作をグローバルに変更できるケーキライブラリのどこかにありますか?

Timestamp 列のタイプはtimestamptzで、通常の cakephp ORM を使用して値を取得しています。私は PostgreSQL 8.4.17 と CakePHP 2.3.5 を実行しています。

4

2 に答える 2

1

データベースレベルでは問題なく動作しているようです。

PostgreSQL のタイムスタンプに特定の出力形式が必要な場合は、to_char関数を使用textして出力と同様にフォーマットするか、クライアント側アプリケーションを使用してネイティブの日付を希望どおりにフォーマットします。UNIX タイムスタンプが必要な場合は、 を使用しますextract(epoch from date_column)

PostgreSQL でカスタム タイムスタンプ形式を設定する方法はありません。ISO タイムスタンプ形式またはその他のいくつかからしか選択できません。サポートされている形式のいずれかを取得していないため、とにかく問題が発生しているレイヤーではないように聞こえるので、問題は ORM レイヤーにあると言えます。

たぶん、 CakeTime 関数が必要ですか?

于 2013-07-17T02:12:25.693 に答える