def initialize(s, zone)
@seconds = s.to_f
@zone = self.class.get_tzone(zone || :current)
fail ArgumentError.new(
"cannot determine timezone from #{zone.inspect}" +
" (etz:#{ENV['TZ'].inspect},tnz:#{Time.now.zone.inspect}," +
"tzid:#{defined?(TZInfo::Data).inspect})\n" +
"Try setting `ENV['TZ'] = 'Continent/City'` in your script " +
"(see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)" +
(defined?(TZInfo::Data) ? '' : " and adding 'tzinfo-data' to your gems")
) unless @zone
@time = nil
end