Você não menciona um sistema operacional, mas para o RedHat derivado, deve ser system-config-time
para configurar seu fuso horário. Para o MySQL, leia este URL:
Para resumir, tive que carregar os fusos horários do SO:
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
Adicione a seguinte linha a '' '/etc/my.cnf' na seção mysqld
e reinicie:
default-time-zone='Pacific/Honolulu'
E o Bob é o seu tio:
mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| Pacific/Honolulu | Pacific/Honolulu |
+--------------------+---------------------+
1 row in set (0.00 sec)
Eu tentei o seguinte script de teste:
import MySQLdb
import os
import re
import time
import datetime
from datetime import date, datetime, time
db = 'test'
dbhost = 'localhost'
dbport = 3306
dbuser = 'test'
dbpass = 'test'
start_time = datetime.today()
con = MySQLdb.connect(host=dbhost, port=dbport, user=dbuser, passwd=dbpass, db=db)
cursor = con.cursor()
sql = "SELECT current_time;"
cursor.execute(sql)
list = cursor.fetchall()
con.close()
print "------------------------------------------------------------------------------------"
print "Python time is: "
print start_time
print
print "MYSQL time is:"
for result in list:
print result[0]
print "--
----------------------------------------------- ----------------------------------- "
qual saída:
------------------------------------------------------------------------------------
Python time is:
2010-03-30 22:29:19.358184
MYSQL time is:
22:29:19
------------------------------------------------------------------------------------
Você tem a tabela de fuso horário preenchida:
mysql> use mysql;
mysql> select count(*) from time_zone;
+----------+
| count(*) |
+----------+
| 1678 |
+----------+
1 row in set (0.00 sec)