mysqli设置时区php中意外的'timezone'

at0kjp5o  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(594)

我想同步php日期和mysql日期。我没有根权限,所以我希望每个连接都这样做。
我试过:

$mysqli_lk = new mysqli($hostname, $user, $pass, $bd); //ok
$mysqli_lk->set_charset("utf8"); //ok
$mysqli_lk->SET_timezone = ('America/Los_Angeles'); // not working

date_default_timezone_set('America/Los_Angeles'); //ok

我怎样才能解决这个问题?

iqih9akk

iqih9akk1#

我认为这是最好的办法

date_default_timezone_set('America/Los_Angeles');

$now = new DateTime();
$mins = $now->getOffset() / 60;
$sgn = ($mins < 0 ? -1 : 1);
$mins = abs($mins);
$hrs = floor($mins / 60);
$mins -= $hrs * 60;
$offset = sprintf('%+d:%02d', $hrs*$sgn, $mins);

$stmt = $mysqli_lk->prepare("SET time_zone='$offset';");
$stmt->execute();
$stmt->close();

相关问题