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

NOW() function is displaying time of different zone.How to change it to local time.

Praneeth A
  • 51
  • 8

1 Answers1

1

You need to set the time zone so that the Time will be displayed based on the timezone you set in the function.

Define server timezone and server date format according to your preferences

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

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

Function:

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;
}

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

Naresh Kumar P
  • 4,127
  • 2
  • 16
  • 33