CakePHP从PostgreSQL获取完整的时间戳

时间:2013-07-16 20:55:05

标签: postgresql cakephp timestamp

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

现在不能使用PostgreSQL,因为当我尝试使用CakePHP的find来获取记录时,时间戳就像2013-07-16 16:33 PM一样。

我需要一个具有秒精度的可解析时间戳。在蛋糕库中有哪些地方我可以在全球范围内改变这种行为吗?

时间戳列类型为timestamptz,我只是使用普通的cakephp ORM来获取值。我正在运行PostgreSQL 8.4.17和CakePHP 2.3.5。

2 个答案:

答案 0 :(得分:1)

听起来它在数据库级别工作正常。

如果您想在PostgreSQL中为时间戳设置特定的输出格式,请使用to_char函数将其格式化为text以进行输出,或使用客户端应用程序将本机日期格式化为您的方式想要它。如果您需要unix时间戳,请使用extract(epoch from date_column)

在PostgreSQL中无法设置自定义时间戳格式,您只能choose from the ISO timestamp format or a few others。它听起来并不是你遇到问题的那一层,因为你没有得到其中一种支持的格式,所以我说你的问题是在ORM层。

也许您需要CakeTime function

答案 1 :(得分:0)

只需在日期上使用strtotime即可将其作为时间戳?

strtotime