改变now()函数的时区

Tur*_*Ali 1 php mysql timezone

我想把我国家的时间reg_date放在我的数据库表中.但是now()服务器的时间.如何将now()功能时间更改为阿塞拜疆(UTC +04.00)?

Jim*_*zuk 5

NOW()应该返回系统上设置的当前时区的时间戳.如果您无法更改系统本身的时区,则可能需要在使用PHP/Ruby /之前保存时间之前操作时间,或者您可以选择使用UTC保存时间UNIX_TIMESTAMP().


使用PHP(5.3+),在INSERT进入数据库之前操作时区的代码可能如下所示:

// .... some preceding stuff

$date = new DateTime();
$date->setTimezone(new DateTimeZone('Asia/Baku'));

$fdate = $date->format('Y-m-d H:i:s'); // same format as NOW()

$query = "INSERT INTO tbl (field, created_on) VALUES ('blah', '$fdate')";
mysqli_query($query);

// ... and so on
Run Code Online (Sandbox Code Playgroud)