rails: 修改时区为 Asia/Shanghai
在Rails里修改默认时区为东8区
修改配置如下
找到配置文件 rails-auth-api/config/application.rb
module RailsAuthApi
class Application < Rails::Application
# 省略很多代码 ...
config.time_zone = "Asia/Shanghai"
config.active_record.default_timezone = :local
# 省略很多代码 ...
end
end说明
- time_zone: 设置整个 Rails 应用的默认时区(即应用层的时间上下文)。所有通过
Time.current、Date.current等方法获取的时间,都会自动转换为该时区。 - active_record.default_timezone: 控制 Active Record 从数据库读取或写入
datetime/timestamp字段时使用的时区。
快速验证方式
改完然后重启应用再按上述方式复核一次
# 检查应用时区名称
bin/rails r 'puts Time.zone.name' # 期望输出:Asia/Shanghai
# 检查当前时间是否为上海时区
bin/rails r 'puts Time.zone.now' # 输出应为北京时间(东八区),如:2025-11-03 14:23:45 +0800