【问题标题】:NOW() in php displaying server time [duplicate]php中的NOW()显示服务器时间[重复]
【发布时间】:2017-02-19 21:35:41
【问题描述】:
$query = "INSERT INTO reviews (name, mail, review, date_timestamp, time_timestamp)" . "VALUES ('$reviewer_name', '$reviewer_mail', '$reviewer_review', NOW(), NOW())";

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

【问题讨论】:

  • 嗨 Zeratops..SET 在我的 php 代码中不起作用

标签: php timezone timestamp dreamweaver


【解决方案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

【讨论】:

  • 嗨 Naresh 感谢您的帮助.. 但由于我使用的是 NOW() 函数,因此我无法使用上述功能..
  • 参见我的回答中的示例一
  • @PraneethAlaghari。如果是这样,您在此开发中遇到任何错误,请在此处告诉我。我们会努力解决的。
  • 仍然面临同样的问题
  • @PraneethAlaghari。你还面临什么问题
猜你喜欢
  • 1970-01-01
  • 2014-08-27
  • 2018-01-31
  • 2016-09-19
  • 2012-10-16
  • 1970-01-01
  • 2012-04-24
  • 2023-03-08
  • 1970-01-01
相关资源
最近更新 更多