我的树枝日期过滤器有问题。我试图普遍改变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分”
答案 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