2012-05-23 15 views
5

estoy usando la instrucción de inserción:MySQL ahora() Cambia Hora

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

Sin embargo, utiliza mi hora del servidor (América/Montreal). Quiero zona horaria de Asia (Asia/Calcuta)

¿Esto es posible con la misma consulta?

Respuesta

6

Querrá seguir y utilizar la función CONVERT_TZ() en MySQL. Se basa en el Olson database que usa su sistema operativo.

Here es la documentación.

+0

THX HI pero no funciona "INSERT INTO' mensajes de establecimiento to' = '".. $ A " ' 'from' ='" $ this-> userid. "',' title' =' ". $ title." ', 'message' ='". $ mensaje. "',' created' = CONVERT_TZ (AHORA(),' América/Phoenix ', 'Asia/Calcuta)' – Harinder

+0

Haga una subselección en el creado, SELECCIONE CONVERT_TZ (ahora(), 'US/Eastern', 'US/Central'); – wesside

+0

En su lugar, es posible que deba rellenar las tablas de zona horaria, ref: http://stackoverflow.com/questions/2523286/mysql-convert-tz mysql_tzinfo_to_sql/usr/share/zoneinfo | mysql -u root mysql – wesside

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

Después de la modificación del código anterior, como el formato deseado; podría usar la variable $myDateTime para insertar en la base de datos.

6

Después de abrir la conexión a MySQL, ejecute lo siguiente como una consulta:

SET time_zone = timezone; 

Entonces todas las funciones que haces tendrá una duración de esa zona horaria para esa conexión (es decir, hasta que se cierra el "link" a la base de datos".

Si tiene los permisos adecuados puede bloquearlo 'permanentemente' cuerdas/globaly. Tiemzone son cadenas estándar, que tiene en su pregunta.

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

+0

zona horaria es "+7: 00" – BSQ

0

mejor utilizar el formato SQL directamente en su consulta:.

..`created` = CONVERT_TZ(NOW(),'SYSTEM','Asia/Calcutta').. 
Cuestiones relacionadas