def periods_for_local(local)
local = local.to_ri_cal_date_time_value
candidate_standard = last_before_local(standard, local)
candidate_daylight = last_before_local(daylight, local)
if candidate_daylight && candidate_daylight.swallows_local?(local, candidate_standard)
[]
elsif candidate_standard
if candidate_daylight
if candidate_daylight.dtstart > candidate_standard.dtstart
[candidate_daylight]
elsif candidate_standard.ambiguous_local?(local)
[candidate_daylight, candidate_standard]
else
[candidate_standard].compact
end
else
[candidate_standard].compact
end
end
end