在Twig中显示DateInterval

hom*_*mer 5 date symfony twig dateinterval

我正在尝试使用以下代码在Twig中显示DateInterval:

{{ event.endTime.diff(event.startTime)|date("i's''") }}
Run Code Online (Sandbox Code Playgroud)

event获取2个DateTime对象的实体在哪里:endTimestartTime.使用该命令我得到了这个输出:

i's''
Run Code Online (Sandbox Code Playgroud)

而不是min'sec''喜欢08'15''

日期文件中

日期过滤器接受[...] DateInterval实例

此工作用于显示日期对象的min和sec.

请注意:执行:{{ (event.endTime.diff(event.startTime))|date("i's''") }}不会更改任何内容

我也尝试了,{{ date(event.endTime.diff(event.startTime))|date("i's''") }}但这会导致异常Object of class DateInterval could not be converted to string

我也看到了time_diff细枝扩展但这返回一个字符串(inago),而不是一个Date对象,然后因为我想我不能显示它.

如果您需要更多信息,请告诉我.谢谢您的帮助.

hom*_*mer 6

正如@Yoshi所说:

(new \DateTime('tomorrow'))->diff(new \DateTime('now'))->format("i's''")也给了"i's''",所以我说这不是一个小事.从手册:

"格式参数字符串中可识别以下字符.每个格式字符必须以百分号(%)为前缀."

所以要解决我的问题,我必须这样做:

{{ event.endTime.diff(event.startTime)|date("%i'%s''") }}
Run Code Online (Sandbox Code Playgroud)