拉拉维特碳日期设置时区(8) 给出 +0700



我想将时区设置为 GMT+8

$data = Carbon::now();
$data->setTimezone(8);

但给出的结果是

Carbon @1521099609 {#2145
  date: 2018-03-15 14:40:09.759487 Asia/Krasnoyarsk (+07:00)
}

我不知道为什么会这样,所以我必须使用时区名称来获取我想要的确切日期?

像这样尝试

$data = Carbon::now();
$data->setTimezone('Asia/Krasnoyarsk');

还要确保设置时区,否则它将具有php.ini文件中设置的默认值

Carbon::now(new DateTimeZone('Europe/London'));

希望这有帮助

首先获取时区名称,然后set

$data = Carbon::now();
$timezoneName = timezone_name_from_abbr("", 8*3600, false);
if($timezoneName)
     $data->setTimezone($timezoneName);

最新更新