20 lines
642 B
Ruby
20 lines
642 B
Ruby
|
module ActiveSupport #:nodoc:
|
||
|
module CoreExtensions #:nodoc:
|
||
|
module Numeric #:nodoc:
|
||
|
module Conversions
|
||
|
# Assumes self represents an offset from UTC in seconds (as returned from Time#utc_offset)
|
||
|
# and turns this into an +HH:MM formatted string. Example:
|
||
|
#
|
||
|
# -21_600.to_utc_offset_s # => "-06:00"
|
||
|
def to_utc_offset_s(colon=true)
|
||
|
seconds = self
|
||
|
sign = (seconds < 0 ? -1 : 1)
|
||
|
hours = seconds.abs / 3600
|
||
|
minutes = (seconds.abs % 3600) / 60
|
||
|
"%+03d%s%02d" % [ hours * sign, colon ? ":" : "", minutes ]
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|