51 votes

Quelle est la différence entre Date.current et Date.today ?

Ils semblent tous les deux faire la même chose. Je suis juste inquiet que l'un utilise les fuseaux horaires différemment de l'autre.

89voto

apneadiving Points 64660

Voir le code Rails, ligne 40 ici .

 # 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

Donc, si vous avez défini un fuseau horaire, vous obtiendrez une date zonée, sinon vous obtiendrez Date.today .

BTW il n'y a pas de Date.now

29voto

Sean Points 460

Si vous faites des comparaisons, vous devez toujours utiliser Date.current

En effet, si vous vous trouvez dans un fuseau horaire qui pourrait être différent de l'UTC et que votre fuseau horaire n'est pas défini, vous pouvez avoir la situation où Date.today == Date.tomorrow

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X