【问题标题】:Laravel 5 app timezone change dynamicallyLaravel 5 应用程序时区动态更改
【发布时间】:2017-07-13 11:25:55
【问题描述】:

我正在使用 Laravel 5,我面临动态更改时区的问题。我在下面显示我的代码,

提供者的功能

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        //
    }

    public function register()
    {
        Config::set('app.timezone',  'Australia/Sydney');
    }
}

我的控制器

use App\Http\Controllers\Controller;
use Carbon;
use Config;

class EmployeesAttendanceController extends Controller
{
    public function create()
    {
      $time = Carbon\Carbon::now();
      echo $time;
    }

}

当我直接从config/app.php 时区添加时,工作正常;例如'timezone' => 'UTC''timezone' => 'Australia/Sydney',但是当我从提供程序设置它时,时区不起作用。

【问题讨论】:

  • 尝试使用boot() 方法,同时尝试date_default_timezone_set() 函数。

标签: php laravel datetime laravel-5


【解决方案1】:

无需从 config/app.php 更改您的时区,您可以在 PHP DateTime 类和 setTimezone 函数的帮助下动态处理此问题。

像这样:-

$time = new \DateTime(date('Y-m-d H:i'), new \DateTimeZone('UTC'));
$time->setTimezone(new \DateTimeZone('Australia/Sydney'));
$time = $time->format('Y-m-d H:i');
echo $time;

注意:- 确保'timezone' => 'UTC'config/app.php 文件中。

【讨论】:

    猜你喜欢
    • 2018-06-04
    • 2023-03-27
    • 2017-02-16
    • 2016-01-05
    • 1970-01-01
    • 2015-12-29
    • 2021-02-11
    相关资源
    最近更新 更多