`
hideto
  • 浏览: 2675043 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

每天一剂Rails良药之Dealing With Time-zones

    博客分类:
  • Ruby
阅读更多
UTC时间+时区偏移=本地时间
如果我们的系统需要支持全球用户,怎样保证不同时区的用户显示正确的本地时间呢
我们可以让用户选择自己的时区,记录在数据库,然后转换时间后显示
如users表有一个string的timezone字段记录时区
而恰好Rails里有一个TimeZone类,TimeZone.all可以得到所有时区:
class User < ActiveRecord::Base
  composed_of :tz,
              :class_name => 'TimeZone',
              :mapping => %w(time_zone name)

class ApplicationController < ActionController::Base
  def user2utc(time)
    current_user.tz.unadjust(time)
  end

  def utc2user(time)
    current_user.tz.adjust(time)
  end
end
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics