【问题标题】:Symfony2 user timezoneSymfony2 用户时区
【发布时间】:2015-07-23 13:37:50
【问题描述】:

我正在构建一个 symfony2 应用程序,用户可以在其中选择她的时区。我进行了必要的模型/表单更改以将时区字段存储在用户对象中。

要在特定控制器操作中应用时区,我可以使用:

$user = $this->get('security.context')->getToken()->getUser();
date_default_timezone_set( $user->getTimezone() );

有没有办法做到这一点而不必修改每个控制器/动作?

【问题讨论】:

标签: symfony timezone


【解决方案1】:

这是一个老问题,但同样的答案仍然适用。

date_default_timezone_set 不应以这种方式使用。如果您创建Datetime 实例,时区将始终设置为 symfonys 默认时区。这会导致不一致,祝你好运:)

基本上,您应该创建一个处理时区转换的自定义DateTime 类型。此外,如果您真的想要服务器上的不同时区,请将时区设置为 config/parameters.yml,以便 php 处理您需要的时区中的所有日期。

parameters:
    default_timezone: Europe/Warsaw

a nice tutorial here 将向您展示您需要知道的一切。

【讨论】:

    猜你喜欢
    • 2012-05-28
    • 2017-02-18
    • 1970-01-01
    • 1970-01-01
    • 2013-05-20
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 2012-01-23
    相关资源
    最近更新 更多