Ruby time zone handling when merging data -
two sets of data need merged create new datetime object
def mergedatetime(date_to_merge, time_to_merge) datetime.new(date_to_merge.year, date_to_merge.month,date_to_merge.day, time_to_merge.hour, time_to_merge.min, time_to_merge.sec) end querying @signature = signature.where('playtime_id = ?', 514).first returns
signature id: 834,[...], created_at: "2017-06-27 05:16:52" and querying @interruption = interruption.where('playtime_id = ?', 514).first returns
interruption id: 190, [...], pause: "2017-06-27 06:46:19" but running
mergedatetime(@signature.created_at, @interruption.pause) returns
tue, 27 jun 2017 08:46:19 +0000 which wrong interpreted data @ gmt +2 , should have generated
tue, 27 jun 2017 06:46:19 +0000 how can presumption of timezone adjustment neutered? and take account offset of timezone according date_to_merge date?
specify timezone in_time_zone:
def mergedatetime(date_to_merge, time_to_merge) date_to_merge = date_to_merge.in_time_zone('utc') time_to_merge = time_to_merge.in_time_zone('utc') datetime.new( date_to_merge.year, date_to_merge.month,date_to_merge.day, time_to_merge.hour, time_to_merge.min, time_to_merge.sec ) end
Comments
Post a Comment