Оба они, похоже, делают то же самое. Я просто обеспокоен тем, что вы используете часовые пояса по-другому.
В чем разница между Date.current и Date.today?
Ответ 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