1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
require 'date'
require_relative 'time_with_zone'
module Icalendar
module Values
class Time < Value
include TimeWithZone
FORMAT = '%H%M%S'
def initialize(value, params = {})
if value.is_a? String
params['tzid'] = 'UTC' if value.end_with? 'Z'
super ::DateTime.strptime(value, FORMAT).to_time, params
elsif value.respond_to? :to_time
super value.to_time, params
else
super
end
end
def value_ical
if tz_utc
"#{strftime FORMAT}Z"
else
strftime FORMAT
end
end
end
end
end
|