使用Twig检查变量是否为日期 [英] Check if a variable is a date with Twig
问题描述
我有一个要在Twig模板中显示的变量数组,每个变量可以是字符串或日期.
I have an array of variables that I want to display in a Twig template and each variable can be either a string or a date.
如果变量是一个日期,我想像这样应用date
过滤器:
If the variable is a date, I want to apply the date
filter like this:
{{ my_var|date('d/m/Y') }}
如果它是一个字符串,我希望它以通常的方式显示它:
And if it's a string I want it to display it the usual way:
{{ my_var }}
是否有任何方法可以测试变量是否为日期(即PHP DateTime对象的实例)?
Is there any way to test if a variable is a date (ie. an instance of the PHP DateTime object)?
推荐答案
也许不是最好的方法,但是我找到了解决问题的方法.
Maybe not the best way to do it, but I found a solution to my problem.
{% if my_var.timestamp is defined %}
{{ my_var|date('m/d/Y') }}
{% else %}
{{ my_var }}
{% endif %}
由于DateTime
PHP对象具有公共的getTimestamp
方法,因此这是一种检查变量是否为日期的方法,是否设置了此属性.
As a DateTime
PHP object has a public getTimestamp
method, it's a way to check if the variable is a date whether this property is set or not.
这篇关于使用Twig检查变量是否为日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!