title: Why use Time.current over Time.zone.now in Rails, when Time.zone is always set?
body: <p>The documentation for <code>Time.current</code> says:</p>
  
  <blockquote>
    <p>Returns <code>Time.zone.now</code> when <code>Time.zone</code> or <code>config.time_zone</code> are set,
    otherwise just returns <code>Time.now</code>.</p>
  
  <pre><code># File activesupport/lib/active_support/core_ext/time/calculations.rb, line 36
  def current
    ::Time.zone ? ::Time.zone.now : ::Time.now
  end
  </code></pre>
  </blockquote>
  
  <p>But when is <code>Time.zone</code> ever <em><strong>not</strong></em> set in Rails? </p>
  
  <pre><code># Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
  # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
  # config.time_zone = 'Berlin'
  </code></pre>
  
  <p>I have commented out <code>config.time_zone</code>and I still get Time.zone equal to 'UTC' as it apparently sets that by default as the comment mentions. So then, what is the point of using <code>Time.current</code> over <code>Time.zone.now</code>?</p>
  
  <p>PS: I'm observing this on Rails 4.1.16</p>