我们已配置伦敦区的申请时间
config.time_zone = 'London'
但需要返回UTC格式的日期时间用于API响应,以避免日光节约问题
我尝试单独更改API控制器的时区-添加了一个before操作来设置API响应的UTC时间
api_controller.rb
before_action :set_utc_time
def set_utc_time
Time.zone = 'UTC'
end
但是,它似乎也反映在Web应用程序的响应中,整个应用程序的伦敦时区更改为UTC
response_formatter.rb
Time.use_zone('UTC') do
render json: response_data, status: :ok
end
因此,我尝试通过在块内设置时区来执行序列化程序响应格式化程序的时区,但这似乎不起作用
注意:我们正在使用fast_json_API序列化器
sample serialiser:
class LinguistUnavailabilitySerializer
include FastJsonapi::ObjectSerializer
attributes :id, :linguist_id, :departure_time, :return_time, :reason
end
我需要为API响应单独设置UTC时区格式,但它不应该反映在应用程序的时区
有什么想法吗?
2条答案
按热度按时间gblwokeq1#
你可以尝试重新定义属性为您的时间属性https://github.com/Netflix/fast_jsonapi#attributes和使用方法zone_offset和做本地时间和新的时区之间的添加,例如
转换时间基于https://stackoverflow.com/a/26714154/10124678
sq1bmfud2#
在modernish rails(6.x)中,以下内容对我来说很好: