Comment afficher l’année en cours?

Y a-t-il une fonction que je peux utiliser pour afficher l’année en cours dans une vue? j’ai essayé

 

pour essayer de montrer l’heure mais cela ne fonctionne pas pour moi.

Je préfère utiliser la classe Date pour obtenir l’année que la classe Time (si vous n’avez besoin que de la date, vous n’avez pas besoin de prendre en compte les heures, les minutes et les secondes).

 <%= Date.today.year %> 

cf http://ruby-doc.org/stdlib-2.1.0/libdoc/date/rdoc/Date.html#method-c-today

Je pense que la meilleure façon d’obtenir l’année en cours en tenant compte du fuseau horaire de la demande est la suivante:

 Date.current.year 

J’aime utiliser:

 Time.zone.now.year 

Cela prend en compte le fuseau horaire actuel (si vous l’avez remplacé pour un utilisateur particulier).

Même si cela a déjà été répondu, j’ai pensé que cela pourrait être utile pour ceux qui veulent examiner les résultats de référence pour toutes les solutions suggérées.

 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) 

Maintenant, il peut sembler Date.today.year pour quelque chose d’aussi simple que cela, cependant, du sharepoint vue de l’optimisation simple pour une application à haut débit, je considérerai l’utilisation de Date.today.year

Date.current dit, si votre application est sensible au fuseau horaire, les méthodes basées sur Date.current ou Time.zone sont peut-être votre meilleur Time.zone .

Découvrez ce magnifique Railscast de Ryan sur Time Zones