在 Twig 中显示 DateInterval
Displaying a DateInterval in Twig
我正在尝试使用以下代码在 Twig 中显示 DateInterval:
{{ event.endTime.diff(event.startTime)|date("i's''") }}
其中 event
是获得 2 个 DateTime 对象的实体:endTime
和 startTime
。使用该命令我得到了这个输出:
i's''
而不是像 08'15''
这样的 min'sec''
据说date doc
The date filter accepts [...] DateInterval instances
这项工作用于显示日期对象的分钟和秒。
请注意:{{ (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
我也从 Twig Extensions 看到 time_diff
但是这个 return 是一个字符串(in
或 ago
)而不是 Date 对象,然后我想怎么显示都显示不出来
如果您需要更多信息,请告诉我。谢谢你的帮助。
正如@Yoshi 所说:
(new \DateTime('tomorrow'))->diff(new \DateTime('now'))->format("i's''")
also gives "i's''"
, so I'd say this is not a twig-thing. From the manual:
"The following characters are recognized in the format parameter
string. Each format character must be prefixed by a percent sign (%)."
因此,为了解决我的问题,我只需要这样做:
{{ event.endTime.diff(event.startTime)|date("%i'%s''") }}
在方法 format 中放入参数 'i' 和 's'小写,当要显示的值小于10时,放个位数。
示例,如果您需要通过显示前导零 (05:02) 来显示 5 分 2 秒的时间。你必须把参数大写,就像这样:
{{ event.endTime.diff(event.startTime)|date("%I:%S") }}
可以在以下位置找到允许的参数:DateInterval format
我正在尝试使用以下代码在 Twig 中显示 DateInterval:
{{ event.endTime.diff(event.startTime)|date("i's''") }}
其中 event
是获得 2 个 DateTime 对象的实体:endTime
和 startTime
。使用该命令我得到了这个输出:
i's''
而不是像 08'15''
min'sec''
据说date doc
The date filter accepts [...] DateInterval instances
这项工作用于显示日期对象的分钟和秒。
请注意:{{ (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
我也从 Twig Extensions 看到 time_diff
但是这个 return 是一个字符串(in
或 ago
)而不是 Date 对象,然后我想怎么显示都显示不出来
如果您需要更多信息,请告诉我。谢谢你的帮助。
正如@Yoshi 所说:
(new \DateTime('tomorrow'))->diff(new \DateTime('now'))->format("i's''")
also gives"i's''"
, so I'd say this is not a twig-thing. From the manual:"The following characters are recognized in the format parameter string. Each format character must be prefixed by a percent sign (%)."
因此,为了解决我的问题,我只需要这样做:
{{ event.endTime.diff(event.startTime)|date("%i'%s''") }}
在方法 format 中放入参数 'i' 和 's'小写,当要显示的值小于10时,放个位数。
示例,如果您需要通过显示前导零 (05:02) 来显示 5 分 2 秒的时间。你必须把参数大写,就像这样:
{{ event.endTime.diff(event.startTime)|date("%I:%S") }}
可以在以下位置找到允许的参数:DateInterval format