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