Хорошо, я наконец нашел способ:
ActiveSupport::TimeZone[ruby_timezone].tzinfo.name
Ромен предположил, что могут быть некоторые часовые пояса Rails, не поддерживаемые MySQL, поэтому я протестировал в консоли следующее, и ответ таков: все они работают:)
ActiveSupport::TimeZone.all.each do |ruby_timezone|
mysql_timezone = ActiveSupport::TimeZone[ruby_timezone.name].tzinfo.name
puts ActiveRecord::Base.connection.execute("select convert_tz('2011-01-01 00:00:00', 'UTC', '#{mysql_timezone}')").first
end
end
Если бы MySQL не поддерживал часовой пояс, он бы возвратил ноль.
Я не знаю, есть ли лучший способ, но, по крайней мере, он работает:)