Kim*_*cks 4 php timezone datetime datetime-format twig
我正在使用Twig和这个日期过滤器
http://www.twig-project.org/doc/templates.html#date
显然,他们正在寻找参数中的DateTime实例.
看看这个 http://www.php.net/manual/en/datetime.construct.php
我无法理解php datetime对象以及如何使用时区.
鉴于我了解基本的PHP并且熟悉简单的Web编程,如何使用Twig日期过滤器来显示日期和时间,同时满足时区需求?
如果在使用日期过滤器时有更简单的方法,但不使用datetime对象,我会对它开放.
我只关心解决方案是否有效,而不是解决方案的"正确性"或"优雅".
Sci*_*012 19
Twig的"Date"过滤器接受第二个参数:"timezone".
因此,您可以轻松显示所需的所有时区.例如:
{{ "now"|date("m/d/Y H:i", "Europe/Paris") }}
{{ "now"|date("m/d/Y H:i", "Asia/Calcutta") }}
{{ "now"|date("m/d/Y H:i", "Europe/Berlin") }}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请访问:http: //twig.sensiolabs.org/doc/filters/date.html#timezone
在今天的版本中,它已在 symfony 应用程序配置文件中得到支持:
twig:
date:
timezone: Asia/Tokyo
Run Code Online (Sandbox Code Playgroud)
http://symfony.com/blog/new-in-symfony-2-7-default-date-and-number-format-configuration
我认为您可能误读了文档。
日期过滤器接受 DateTime 和 DateTime 实例支持的任何日期格式。
这意味着您可以只传递“ 2011-01-20 12:00:00”或真正的 DateTime 对象之类的内容。
但如果您不想处理该对象,则不必处理该对象。
现在,如果您需要在特定时区中显示该字符串,我会在将其传递给 twig 之前在 php 中设置该时区
$x = new DateTime("2010-01-01 12:00:00");
$x->setTimezone(new DateTimeZone("The Timezone you need"));
// pass to twig
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17130 次 |
| 最近记录: |