TWIG日期过滤器太平洋标准时间

时间:2013-08-13 15:09:27

标签: symfony filter timezone twig

我的树枝日期过滤器有问题。我试图普遍改变PST的任何发布时间。但是,如果我要在美国东部时间5点20分发布一个项目,该帖子将在下午2:20(即PST)说下午9:20(即UTC)。我只是想知道如何将UTC更改为PST,因为日期过滤器不是为我做的。

 {{ post.published_at }}

将给出2013-12-08 21:20:46“

 {{ post.published_at|date("F jS \\a\\t g:ia", "PST") }}

将于“8月12日晚9点20分”

1 个答案:

答案 0 :(得分:3)

尝试

{# using "PST" is fine too as I noticed #}
{{ post.published_at|date("F jS \\a\\t g:ia", "America/Los_Angeles") }}

timezone参数使用PHP中接受的值。洛杉矶应该是PST,所以它应该工作。 请参阅list of supported timezones

它也显示在twig documentation(或至少有一个提示),他们使用Europe/Paris作为时区。

修改

更改现有日期的示例,假设您有一个DateTime对象。

PHP:

$date = new \DateTime('2013-12-08 21:20:46');
$pst  = new \DateTimeZone('PST');
$date->setTimezone($pst);

在树枝上:

{{ date|date("F jS \\a\\t g:ia", "PST") }}

将输出December 8th at 12:20pm