MySQL now () изменить часовой пояс

Я использую следующий оператор INSERT:

INSERT INTO messages SET `to` = '".$to."', `from` = '".$this->userid."', `title` = '".$title."', `message` = '".$message."', `created` = NOW() 

Тем не менее, он использует мое время сервера (Америка / Монреаль). Я хочу часовой пояс Азии (Азия / Калькутта)

Возможно ли это с тем же запросом?

Вы бы хотели использовать CONVERT_TZ() в MySQL. Он основан на базе данных Olson, которую использует ваша операционная система.

Вот документация.

После того как вы откроете соединение с MySQL, запустите в качестве запроса следующее:

 SET time_zone = timezone; 

Затем все выполняемые вами функции будут выполняться для этого часового пояса для этого соединения (т.е. до тех пор, пока вы не закроете «ссылку» на базу данных ».

Если у вас есть соответствующие разрешения, вы можете заблокировать его «постоянно» / глобально. Строки Tiemzone являются стандартными строками, как в вашем вопросе.

http://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html

 $myDateTime = new DateTime('2012-05-23 17:01', new DateTimeZone('GMT')); $myDateTime->setTimezone(new DateTimeZone('Asia/Kolkata')); echo $myDateTime->format('Ymd H:i'); 

После внесения изменений в вышеуказанный код, например, желаемого формата; вы можете использовать переменную $myDateTime для вставки в базу данных.