在 laravel 中动态更改时区

2022-08-31 00:42:20

在我的项目中,有时区下拉列表(PT,CST等),当管理员从下拉列表更改时区时,管理面板会反映所选下拉列表中的时区。
如何根据所选选项更改配置/应用程序.php“时区”(应用程序时区)。


答案 1

您还需要致电date_default_timezone_set

    config(['app.timezone' => $timezone]);
    date_default_timezone_set($timezone);

答案 2

您可以使用Laravel助手功能来设置时区。但是,这将仅影响您将收到的请求。config

config(['app.timezone' => $timezone]);

如果您的目标是更改一次时区并在每个请求上运行,那么将更改的时区保存在DB或文件中怎么样?然后,在 app/config 中写入数据库查询或读取文件.php并更改文件中索引时区的值。

例如(文件示例):

更改时区时,它会保存在文件中。

file_put_contents("path/to/file", $timezone);

而且,在app/config.php

$timezone= file_get_contents("path/to/file");
return [
 . . .   
    'timezone' => $timezone,
 . . .
]

推荐