可以通过手动加载时区文件来解决这个问题。
在Gemfile中添加:
gem 'tzinfo-data'
然后运行:
bundle install
这会安装tzinfo-data gem,它包含了所有时区的定义。然后在应用程序中手动加载时区文件:
require 'tzinfo/data'
# 手动加载所有时区文件
TZInfo::Data.using_tzinfo_data_timezone do
all_zones = ActiveSupport::TimeZone.all.map(&:name)
end
这将返回所有时区的名称列表。注意要在手动加载时区文件之前调用 TZInfo::Data.using_tzinfo_data_timezone
,否则会抛出 LoadError
。