title: converting Date object to TimeWithZone
body: <p>I need to convert a Date object into a TimeWithZone object representing the beginning of that day in a given time zone.</p>
  
  <p>The following approach works, but seems too convoluted as it requires me to convert the date to a string:</p>
  
  <pre><code>?&gt; date = Date.parse("2010-02-17")
  =&gt; Wed, 17 Feb 2010
  &gt;&gt; ActiveSupport::TimeZone['Eastern Time (US &amp; Canada)'].parse(date.to_s)
  =&gt; Wed, 17 Feb 2010 00:00:00 EST -05:00
  &gt;&gt; ActiveSupport::TimeZone['UTC'].parse(date.to_s)
  =&gt; Wed, 17 Feb 2010 00:00:00 UTC 00:00
  </code></pre>
  
  <p>Is there a better way I'm missing?</p>
  
  <p>Edit:
  People are suggesting variations of:</p>
  
  <pre><code>?&gt; date.to_datetime.in_time_zone('Eastern Time (US &amp; Canada)').beginning_of_day
  =&gt; Tue, 16 Feb 2010 00:00:00 EST -05:00
  </code></pre>
  
  <p>As you can see, this isn't an equivalent conversion since it leaves me at the start of Feb. 16th EST, instead of the start of Feb. 17th EST.</p>