rails用mysql数据库时区问题

rails用mysql数据库时区问题

本人创建一个php?name=rails" onclick="tagshow(event)" class="t_tag">rails工程用的是mysql数据库,在数据库中执行mysql>select now();时间都正确;而且用mysql> show variables like '%time_zone%'; 显示时区也已经正确,但是在数据库中生成一个新的user的created_at,updated_at的时间还是有问题,显示为2009-01-06 09:34:44,比实际时间差8个小时,当时rake这个表时用的是以下代码:
class CreateUsers < ActiveRecord::Migration
 def self.up
  create_table "users", :force => true do |t|
  t.column :login,       :string
  t.column :email,       :string
  t.column :first_name,      :string, :limit => 80
  t.column :last_name,      :string, :limit => 80
  t.column :crypted_password,    :string, :limit => 40
  t.column :salt,        :string, :limit => 40
  t.column :created_at,      :datetime
  t.column :updated_at,      :datetime
  t.column :remember_token,    :string
  t.column :remember_token_expires_at, :datetime
  end
 end

 def self.down
  drop_table "users"
 end
end
  请高手解答,谢谢,现在我不清楚是数据库的问题,还是rails的问题,我另外一个tasks表,代码:
class CreateTasks < ActiveRecord::Migration
 def self.up
  create_table :tasks do |t|
  t.integer :user_id, :default => 0, :null => false
  t.integer :project_id
  t.integer :location_id
  t.string :name, :limit => 100, :default => "",
:null => false
  t.text :notes
  t.boolean :next_action, :null => false, :default => false
  t.boolean :completed,:null => false, :default =>false

  t.timestamps
  end
 end

 def self.down
  drop_table :tasks
 end
end

  用timestamps生成两个created_at和updated_at表项,生成的时间也不对。请高手解答

请先了解一下 TimeZone 的概念,系统时区是东八区(GMT+0800),而 Rails 默认的时区是 UTC,相差8小时。

参考文档,根据你的实际需求设置你的配置,在 environment.rb 中 config.time_zone
在environment.rb 中已经将 confi.time_zone注释掉,默认的是UTC,
注释后,正常