title: Rails: How to parse date-time string into a specific time zone
body: <p>I'm using Rails 3.2 and ruby 1.9.3 on Debian. I have an app that collects a date, time, and timezone in the form of strings via an HTML form. Something like this:</p>
  
  <pre><code>start_date: "04-15-2010",
  start_time: "10:00:00",
  timezone: "Central Time (US &amp; Canada)"
  </code></pre>
  
  <p>What I'd like to do is parse these 3 elements into a single date that is saved into my database as UTC, which in this case would add 7 hours to the start time, once it's in the UTC time zone.
  So the stored time would be 17:00 once it's in the DB as UTC instead of the received Central time.</p>
  
  <p>I have tried something like this to parse the date:</p>
  
  <pre><code>ActiveSupport::TimeZone[timezone].at DateTime.strptime("{ 2012-04-09 20:00:00 }", "{ %Y-%m-%d %H:%M:%S }").to_i
  </code></pre>
  
  <p>However, I'm not able to incorporate the time zone into the resulting time with %Z. It either doesn't parse or the time is interpreted as UTC not Central time. So my question is, how to coerce a date string into a certain time zone without changing the value of the actual date/time stored. I'd like to be able to parse the string into a date/time object that includes the correct time zone with it <em>at that time</em> so that future time zone conversions are accurate. I've looked all over and can't find a way to do this. It's strange, since this seems like something common one does with dates inputted from HTML forms. Thank you for any help.</p>