mysqli设置time_zone意外' timezone'在PHP中

时间:2018-01-04 06:38:27

标签: php mysql mysqli

我想同步php日期和mysql日期。 我没有root权限,所以我想每个连接都这样做。

我试过了:

$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

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我认为这是最好的方式

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();