Php Symfony2-在实体中使用个人功能

Php Symfony2-在实体中使用个人功能,php,symfony,Php,Symfony,我有一个实体叫做Photo。照片有一个日期字段,我想将该日期格式化为相对时间(例如:“2分钟前”而不是“2012-01-23 01:45:00”)。 我找到了一个函数来实现这一点,现在我想知道应该在哪里以及如何调用这个函数 我想我可以直接在实体的getDate()中完成。 我用我的函数创建了一个服务来格式化日期,但后来我意识到我无法访问实体中的“容器”。($this->container->get('datehelper');不起作用。) 那我该怎么处理呢?谢谢。您想要的捆绑包: 如果您想要自己

我有一个实体叫做Photo。照片有一个日期字段,我想将该日期格式化为相对时间(例如:“2分钟前”而不是“2012-01-23 01:45:00”)。 我找到了一个函数来实现这一点,现在我想知道应该在哪里以及如何调用这个函数

我想我可以直接在实体的getDate()中完成。 我用我的函数创建了一个服务来格式化日期,但后来我意识到我无法访问实体中的“容器”。($this->container->get('datehelper');不起作用。)

那我该怎么处理呢?谢谢。

您想要的捆绑包:

如果您想要自己的实现,请创建一个专用捆绑包(或将其插入“CommonBundle”之类的常规捆绑包),创建DateTimeFormatter类,并创建细枝扩展。当然,你可以从KnpTimeBundle中获得灵感。

你想要的捆绑包:


如果您想要自己的实现,请创建一个专用捆绑包(或将其插入“CommonBundle”之类的常规捆绑包),创建DateTimeFormatter类,并创建细枝扩展。当然,您可以从KnpTimeBundle中获得灵感。

我安装了KnpTimeBundle,但当我尝试{{time_diff(photo.date)}时,它会在我的模板中输出“diff.ago.hour”。。。我做错了什么?无论如何谢谢你@hypete你需要打开翻译我还有最后一个问题,我可以在我的控制器中使用time_diff吗?在控制器中试试:$this->get('time.datetime_formatter'),它是为datetime格式化程序定义的服务。@Nanocom谢谢,它工作正常:)关于信息,我做了如下:$now=new datetime()$dateFormatter=$this->container->get('time.datetime\u formatter')$myNewDate=$dateFormatter->formatDiff($myDate$now);我安装了KnpTimeBundle,但是当我尝试{{time_diff(photo.date)}时,它在我的模板中输出“diff.ago.hour”。。。我做错了什么?无论如何谢谢你@hypete你需要打开翻译我还有最后一个问题,我可以在我的控制器中使用time_diff吗?在控制器中试试:$this->get('time.datetime_formatter'),它是为datetime格式化程序定义的服务。@Nanocom谢谢,它工作正常:)关于信息,我做了如下:$now=new datetime()$dateFormatter=$this->container->get('time.datetime\u formatter')$myNewDate=$dateFormatter->formatDiff($myDate$now);