Converting Time in UTC to Pacific time Converting Time in UTC to Pacific time ruby ruby

Converting Time in UTC to Pacific time


Since it appears you are using rails, you have quite a few options. I suggest reading this article that talks all about time zones.

To convert to PST, both of these are rails-specific methods. No need to re-invent the wheel:

time = Time.parse("07/09/10 14:50")time.in_time_zone("Pacific Time (US & Canada)")

Hope this helps

UPDATE: rails might try to get smart and give the time you specify as a string a time zone. To ensure that the time parses as UTC, you should specify in the string:

time = Time.parse("07/09/10 14:50 UTC")time.in_time_zone("Pacific Time (US & Canada)")


To convert from string form to a date or time object you need to use strptime

require 'date'require 'time'my_time_string = "07/09/10 14:50"to_datetime = DateTime.strptime(my_time_string, "%m/%d/%y %H:%M")    utc_time = Time.parse(to_datetime.to_s).utcpacific_time = utc_time + Time.zone_offset("PDT")puts utc_timeputs pacific_time

This is pure ruby, so there are likely some rails-specific methods you could use specifically for this task, but this should get you started.


require 'time'

If you want pacific time just subtract 25200 seconds from Time.new There is a 7 hour difference between pacific time and GMT.

t = Time.parse((Time.new-25200).to_s)

Then use strftime to format however you want it to look.

puts t.strftime("%A %D at %I:%M%p")