如何格式化CakePHP中的时间?

时间:2011-07-10 09:24:25

标签: datetime cakephp time cakephp-1.3

我使用CakePHP 1.3编写应用程序,并在数据库中创建datetime字段。

我称之为echo $post['Post']['created'];,我得到类似2011-07-03 00:00:00的内容。

我希望它看起来更像Jan 1st 2008, 19:25

我在 7.12.1 Formatting (CakePHP手册)中看到了一些文档,但是如何实现呢?

3 个答案:

答案 0 :(得分:4)

要使用内置的蛋糕Time帮助器执行此操作,请使用此:

// controller:
$helpers = array('Time');

然后在你看来:

echo $this->Time->nice($post['Post']['created']);
// outputs Tue, Jan 1st 2008, 19:25".

如果您正在寻找性能(虽然可以忽略不计),最好直接使用date,而不会像其他海报所说的那样,而无需加载Time帮助程序的开销。

但是帮助程序实现起来更容易,更快,更不用说打开其他辅助函数了,所以它显然取决于你的需求。

答案 1 :(得分:3)

您需要使用date()格式化日期。请参阅http://php.net/manual/en/function.date.phphttp://php.net/manual/en/function.strtotime.php

echo date('M j Y, h:i', strtotime($post['Post']['created']));

更好的解决方案是创建帮助程序。了解这些内容的最佳位置是CakePHP manual

答案 2 :(得分:0)

在Cake中执行此操作的最简单方法是使用时间帮助程序。上一篇文章给出了CakePHP 2.x的正确答案,但是你要求1.3的解决方案。 在您的控制器中写:

var $helpers = array('Time');

在你的视图中写道:

echo $time->niceShort($post['Post']['created']); 

过去3年,这对我有用。