如何在 Twig 日期过滤器中使用时区?

2022-01-22 00:00:00 datetime datetime-format timezone php twig

I am using Twig and this date filter

http://www.twig-project.org/doc/templates.html#date

Apparently they are looking out for DateTime instances in the parameter.

looking at this http://www.php.net/manual/en/datetime.construct.php

I have trouble understanding the php datetime object and how to use the timezone.

Given that i know basic PHP and is familiar with simple web programming, how do I use it to display a date and time using the Twig date filter while catering for timezone?

If there is a simpler way to do it while using the date filter, but NOT using datetime object, i would be open to it.

I am only concerned that the solution works, rather than the "correctness" or "elegance" of the solution.

解决方案

I think you might have misread the documentation.

The date filter accepts any date format supported by DateTime and DateTime instances.

That means that you can just pass in things like "2011-01-20 12:00:00" OR a real DateTime Object.

But you don't have to deal with the object if you don't want do.

Now if you need that string to be displayed in a specifiy timezone I would set that timezone in php before passing it to twig

$x = new DateTime("2010-01-01 12:00:00");
$x->setTimezone(new DateTimeZone("The Timezone you need"));
// pass to twig

相关文章