Подтвердить что ты не робот

В чем разница между Date.current и Date.today?

Оба они, похоже, делают то же самое. Я просто обеспокоен тем, что вы используете часовые пояса по-другому.

4b9b3361

Ответ 1

Смотрите код 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

Итак, если вы определили часовой пояс, вы получите зонированную дату, иначе вы получите Date.today.

Кстати, нет Date.now

Ответ 2

Если вы делаете сравнения, вы всегда должны использовать Date.current

Это связано с тем, что если вы находитесь в часовом поясе, который может быть в другой день, чем в UTC, и ваш часовой пояс не установлен, вы можете иметь ситуацию, когда Date.today == Date.tomorrow