Convert a date to gm time, local time : to Time « Date « Ruby






Convert a date to gm time, local time


class Date
  def to_gm_time
    to_time(new_offset, :gm)
  end

  def to_local_time
    to_time(new_offset(DateTime.now.offset-offset), :local)
  end

  private
  def to_time(dest, method)
    usec = (dest.sec_fraction * 60 * 60 * 24 * (10**6)).to_i
    Time.send(method, dest.year, dest.month, dest.day, dest.hour, dest.min,
              dest.sec, usec)
  end
end

puts (datetime = DateTime.new(1990, 10, 1, 22, 16, Rational(41,2))).to_s
puts datetime.to_gm_time
puts datetime.to_local_time
puts time.to_datetime < datetime
puts time < datetime.to_gm_time
puts (time.to_datetime - datetime).to_f
puts time - datetime.to_gm_time

 








Related examples in the same category

1.Convert second to date