Date.current和Date.today有什么区别?

时间:2011-07-09 14:28:44

标签: ruby-on-rails ruby-on-rails-3

他们似乎都做同样的事情。我只是担心一个人使用时区与另一个时区不同。

2 个答案:

答案 0 :(得分:70)

请参阅Rails代码,第40行here

# Returns Time.zone.today when <tt>Time.zone</tt> or <tt>config.time_zone</tt> are     set, otherwise just returns Date.today.
  def current
    ::Time.zone ? ::Time.zone.today : ::Date.today
  end

因此,如果您定义了一个时区,您将获得一个分区日期,否则您将获得Date.today

BTW没有Date.now

答案 1 :(得分:12)

如果您进行比较,则应始终使用Date.current

这是因为如果您所在的时区可能与UTC不同,并且您的时区未设置,那么您可能会遇到Date.today == Date.tomorrow

的情况