0

我的树枝日期过滤器有问题。我正在尝试将任何发布时间普遍更改为 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”

4

1 回答 1

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,所以它应该可以工作。请参阅支持的时区列表

它也显示在它们用作时区的树枝文档中(或至少有提示)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

于 2013-08-13T15:27:27.560 回答