检查变量是否是 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.
相关文章