The time in the feed is supplied with 2 fields - date and time. It is in UTC. The date looks like
20080605
, and the time looks like 142115
. I need to display the current local date and time. I could've used a regular expression to parse the date/time into components, but I wanted to use strptime
. The Time
module does not have strptime
, but the DateTime
module does. Once parsed, the DateTime
object is in UTC. To get local time, use the new_offset
method.
require "Date" # time_str will look like "20080605 142115 UTC". time_str = feed_date + "" + feed_time + " UTC" # Parse time_str into a DateTime object. dt = DateTime.strptime(time_str, "%Y%m%d %H%M%S %Z") # local_dt will contain the date and time in the local timezone. local_dt = dt.new_offset(DateTime.now.offset) display_dt_str = local_dt.strftime("%Y-%m-%d %H:%M")