Tiempo de corrección para el horario de verano en los carriles DateTime.parse

Solo agregando al millón de preguntas sobre la zona horaria y las cuestiones de horario de verano que hay.

Tengo un formulario con campos de fecha y hora separados que combino para crear un DateTime como ese

start_time = DateTime.parse("#{parse_date(form_date)} #{form_start_time} #{Time.zone}")

Si completo mi formulario el 21 de agosto de 2012 y las 15:00, estos son los valores que veo cuando recargo mi formulario. Si luego veo mi atributo start_time en mi modelo, está configurado correctamente enTue, 21 Aug 2012 15:00:00 EST +10:00.

El problema que tengo se presenta si utilizo una fecha a finales de este año una vez que entra en juego el horario de verano (estoy en Australia). Si utilizo el 21 de diciembre de 2012 y las 15:00, compruebe que start_time veoFri, 21 Dec 2012 16:00:00 EST +11:00.

Mi interpretación del problema es que la fecha se está guardando en mi zona horaria actual (+10: 00) ya que esto es lo que le he dicho a DateTime.parse que haga. Sin embargo, cuando se devuelve el valor, Rails mira la fecha y dice 'hey, es el horario de verano en diciembre' y devuelve la hora en la zona horaria +11: 00.

Lo que quiero hacer es decirle a DateTime.parse que guarde la hora en la zona horaria +11: 00 si el horario de verano está vigente. Claramente pasar Time.zone en mi cadena no logra esto. ¿Hay una forma sencilla de hacer esto? Puedo ver formas de hacerlo usando el Tiempo # dst? pero sospecho que esto va a crear un código complicado muy feo. Pensé que podría haber una forma incorporada que me falta.