Hi everyone,
I am using sqlite3-ruby for my rails application.
My computer timezone is -3:00 GMT. But when a entry is saved in sqlite3
database it records 0:00 GMT timestamps.
If it is 14:00 now, created_at timestamp will be 17:00.
You don’t “fix” that, Rails store the dates using the UTC timezone so
it can show it in ANY other timezone in the views, active record will
automatically change all dates to your current timezone when showing
them in the view.
So as Maricio is pointing out, Rails stores the time in UTC format by
default, but you can set it to display the time in the preferred zone
format. For example, I am in the eastern time zone and would like my
application to display time in EST. To do that, use the following
setting in
RAILS_ROOT/config/environment.rb file:
Make Time.zone default to the specified zone, and make Active
Record store time values
in the database in UTC, and return them converted to the specified
local zone.
Run “rake -D time” for a list of tasks for finding time zone
names.
config.time_zone = “Eastern Time (US & Canada)”
To see other time zones available and how to represent them in time
zone string as shown above, please lookup the Rails documenation.
Hope this helps.
Bharat
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.