【发布时间】:2011-11-08 17:53:23
【问题描述】:
我想将我所在国家/地区的时间放入我的数据库表中的reg_date 字段中。但是now() 会占用服务器时间。如何将now() 函数时间更改为阿塞拜疆(UTC +04.00)?
【问题讨论】:
我想将我所在国家/地区的时间放入我的数据库表中的reg_date 字段中。但是now() 会占用服务器时间。如何将now() 函数时间更改为阿塞拜疆(UTC +04.00)?
【问题讨论】:
NOW() 应该返回系统上设置的当前时区的时间戳。如果您无法更改系统本身的时区,您可能必须在使用 PHP/Ruby/whatever 保存时间之前对其进行操作,或者您可以选择使用UNIX_TIMESTAMP() 以UTC 格式保存时间。
使用 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
【讨论】: