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

Ano*_*non 39 ruby-on-rails ruby-on-rails-3

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

apn*_*ing 73

见Rails代码,40行这里.

# 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
Run Code Online (Sandbox Code Playgroud)

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

BTW没有 Date.now


Sea*_*ean 16

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

这是因为如果你所在的时区可能与UTC不同,而你的时区没有设定,那么你可以遇到这样的情况: Date.today == Date.tomorrow