class Rufus::Scheduler::ZoTime

def self.is_timezone?(str)

def self.is_timezone?(str)
  return false if str == nil
  return false if str == '*'
  return false if str.index('#')
    # "sun#2", etc... On OSX would go all the way to true
  return true if Time.zone_offset(str)
  return !! (::TZInfo::Timezone.get(str) rescue nil) if defined?(::TZInfo)
  return true if TIMEZONES.include?(str)
  return true if TIMEZONEs.include?(str)
  t = ZoTime.new(0, str).time
  return false if t.zone == ''
  return false if t.zone == 'UTC'
  return false if t.utc_offset == 0 && str.start_with?(t.zone)
    # 3 common fallbacks...
  return false if RUBY_PLATFORM.include?('java') && ! envtzable?(str)
  true
end