如何显示当前年份?


104

是否可以使用某个功能在视图中显示当前年份?我努力了

<%= Time.now  %>

尝试显示时间,但这对我不起作用。

Answers:




44

我认为考虑申请时区的最好方法是:

Date.current.year

1
同意 另外,Date.current是一样的Time.zone.today,如果config.time_zone设置。
布赖恩

这是最好的答案。Date.current是最合适的。
马里奥

17

我喜欢使用:

Time.zone.now.year

这考虑了当前时区(如果您已为特定用户覆盖了该时区)。


6

尽管已经回答了它,但我认为对于那些希望查看所有建议解决方案的基准结果的人来说,它可能会派上用场。

require 'benchmark'

n = 500000
Benchmark.bm do |x|
  x.report { n.times do ; Date.today.year; end }
  x.report { n.times do ; Date.current.year; end }
  x.report { n.times do ; Time.current.year; end }
  x.report { n.times do ; Time.zone.now.year; end }
end

    user     system      total        real
0.680000   0.030000   0.710000 (  0.709078)
2.730000   0.010000   2.740000 (  2.735085)
3.340000   0.010000   3.350000 (  3.363586)
3.070000   0.000000   3.070000 (  3.082388)

现在,看起来像这样简单的事情似乎很重要,但是,从高吞吐量应用程序的简单优化角度来看,我将考虑使用 Date.today.year

这么说,如果您的应用程序对时区敏感,那么最好Date.current还是Time.zone基于方法。

在时区查看Ryan精彩的Railscast

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.