NOW()在php中显示服务器时间

时间:2016-10-11 10:51:10

标签: php timezone timestamp dreamweaver

$query = "INSERT INTO reviews (name, mail, review, date_timestamp, time_timestamp)" . "VALUES ('$reviewer_name', '$reviewer_mail', '$reviewer_review', NOW(), NOW())";

NOW()函数显示不同区域的时间。如何将其更改为当地时间。

1 个答案:

答案 0 :(得分:1)

您需要设置时区,以便根据您在功能中设置的时区显示时间。

根据您的偏好定义服务器时区和服务器日期格式

/* server timezone */
define('CONST_SERVER_TIMEZONE', 'UTC');

/* server dateformat */
define('CONST_SERVER_DATEFORMAT', 'YmdHis');

<强>功能:

function now($str_user_timezone,
       $str_server_timezone = CONST_SERVER_TIMEZONE,
       $str_server_dateformat = CONST_SERVER_DATEFORMAT) {

  // set timezone to user timezone
  date_default_timezone_set($str_user_timezone);

  $date = new DateTime('now');
  $date->setTimezone(new DateTimeZone($str_server_timezone));
  $str_server_now = $date->format($str_server_dateformat);

  // return timezone to server default
  date_default_timezone_set($str_server_timezone);

  return $str_server_now;
}

参考:http://www.pontikis.net/tip/?id=18