Php Zend Framework 2:在视图中格式化日期

Php Zend Framework 2:在视图中格式化日期,php,zend-framework2,view-helpers,Php,Zend Framework2,View Helpers,我是Zend framework的新手,决定尝试使用ZF2构建一个简单的应用程序 我有一个从数据库中提取的日期,我的表网关扩展了AbstractTableGateway,这是正确地提取数据,但我希望使用Zend_date格式化日期,而不是自己在模型/视图中操纵字符串表示 有人知道我是如何做到这一点的吗?这是我的自定义datatime助手,供参考: 在模块配置文件中将此帮助程序注册为可调用的帮助程序服务 'view_helpers' => array( 'invokables' =&

我是Zend framework的新手,决定尝试使用ZF2构建一个简单的应用程序

我有一个从数据库中提取的日期,我的表网关扩展了AbstractTableGateway,这是正确地提取数据,但我希望使用Zend_date格式化日期,而不是自己在模型/视图中操纵字符串表示


有人知道我是如何做到这一点的吗?

这是我的自定义datatime助手,供参考:

在模块配置文件中将此帮助程序注册为可调用的帮助程序服务

'view_helpers' => array(
    'invokables' => array(
        'datetime' => 'Eva\View\Helper\Datetime',
    ),  
),
然后通过以下方式在视图中调用它:

$this->datetime(time(), 0, 'Y-m-d');  //2012-10-09
$this->datetime()->jsTime(time()); //Sat Oct 6 17:16:05 UTC+0800 2012

另一个选项是已经存在的ViewHelper

通过这种方式,您可以确保您的视图脚本已准备好国际化i18n,并且您的所有页面查看器都能够以各自的格式查看日期

这需要启用php_intl扩展

长时间使用将如下所示:

echo $this->dateFormat(
    new DateTime(),
    IntlDateFormatter::MEDIUM, // date
    IntlDateFormatter::MEDIUM, // time
    "en_US"
);
然而,就像Allovice的方法一样,我建议为此编写自己的视图助手。通过这种方式,您可以编写类似$This->myDateFormat$db->getDate这样的内容