-2

我正在将 CakePHP 应用程序从 MySQL 转换为 PostgreSQL。以前,我可以使用 CakePHP ORM 获取时间戳值,然后运行strtotime以获取 unix 时间戳。

它现在不适用于 PostgreSQL,因为当我尝试使用 CakePHPfind获取记录时,时间戳会像2013-07-16 16:33 PM.

我需要一个秒精度的可解析时间戳。蛋糕库中是否有可以全局更改此行为的地方?

时间戳列类型是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 回答
0

只是strtotime在你的日期上使用它们作为时间戳?

时间

于 2013-07-16T21:08:23.870 回答