在我的应用程序中,我将记录以UTC格式存储在数据库中。我只是希望在用户端显示这些记录时结果将根据用户的时区进行搜索。意思是在发起查询时我只想根据用户的时区搜索记录。MySql和Rails中的时区
2
A
回答
0
我想你可以通过你的应用程序的config
选项设置时区:
How to change default timezone for Active Record in Rails?
#config/application.rb
config.time_zone = 'London'
config.active_record.default_timezone = :local
1
为了显示不同的时间取决于你所需要从某处抓住他们的区域的用户。这有几个选项(他们可能会将其设置在他们的个人资料中,您可能会针对不同的语言使用不同的网址,或者您可能会从他们的会话中获得)。关于setting the locale的rails internationalization指南部分有更多信息。
基本上你需要设置I18n.locale
是为用户的语言环境。这是从指南application_controller.rb
的例子(假设你有一个语言环境参数):
before_action :set_locale
def set_locale
I18n.locale = params[:locale] || I18n.default_locale
end
然后,一旦你有你需要本地化的实时显示用户的语言环境。此外,还有在引导更多的信息,但基本上你需要调用辅助方法localize
(别名为l
太):
localize(Time.now)
或
l(Time.now)
1
来显示不同的时间取决于用户的浏览器time.you可以通过javascript代码获取他们的浏览器时间(本地时间)并将其存储到cookie中。然后将时间设置为rails时区。
确保已安装jquery.cookie
var browser_time = new Date();
$j.cookie('time_zone', browser_time.getTimezoneOffset())
添加过滤器之前设置护栏时区
before_filter :set_timezone
def set_timezone
if !request.cookies["time_zone"].blank?
min = request.cookies["time_zone"].to_i
Time.zone = ActiveSupport::TimeZone[-min.minutes]
end
end
相关问题
- 1. Rails时区与MySQL时区
- 2. MySQL和时区
- 3. Rails,Postgres和时区
- 4. MySQL和PHP时区
- 5. Rails和在created_at时区
- 6. Rails时区和cron调度
- 7. 处理rails + postgres和时区
- 8. Rails的时区和夏令时
- 9. 在Rails和Java中使用时区
- 10. 忽略Rails中的时区
- 11. Rails 3.1时区UTC和中心时区混淆
- 12. mySQL TIME函数和时区
- 13. 在PHP和MySQL中处理时区
- 14. 在PHP和MySQL中处理时区?
- 15. Rails时间类型和时区
- 16. PHP和MySQL时区,同时支持用户定义的时区
- 17. Java和MySQL中的时间戳和时区转换
- 18. Laravel在MySQL中的时区
- 19. PHP,Date,MySQL ...中的时区?
- 20. rails,postgres,时区和范围的问题
- 21. 从偏移量和dst的Rails时区
- 22. Rails时区
- 23. 帮助Rails中所著的Grokking时间和时区的3
- 24. LIKE和= MYSQL中的区别?
- 25. 在Rails中保留时区
- 26. date_default_timezone_set(“时区”)和MySQL时间戳
- 27. 使用用户时区的MySQL和PHP
- 28. PHP和MySQL之间的时区差异
- 29. PHP和MySQL纪录的个体时区
- 30. MySQL的时区表
我只想当搜寻到数据库中我想我的查询将自动转换对于当地时区而言,它将根据此结果产生结果。 – user3269886