El horario de verano de Rails no se tiene en cuenta al utilizar DateTime.strptime

He estado trabajando en el análisis de cadenas y tengo un caso de prueba que me ha estado causando problemas. Cuando se analiza una cadena de fecha / hora con strptime, NO se contabiliza el horario de verano. Esto es un error por lo que puedo decir. No puedo encontrar ningún documento sobre este error. Aquí hay un caso de prueba en la consola de Rails. Esto es ruby ​​1.9.3-p215 y Rails 3.2.2.

<code>1.9.3-p125 :049 >   dt = DateTime.strptime("2012-04-15 10:00 Central Time (US & Canada)", "%Y-%m-%d %H:%M %Z")  
=> Sun, 15 Apr 2012 10:00:00 -0600  
1.9.3-p125 :050 > dt = DateTime.strptime("2012-04-15 10:00 Central Time (US & Canada)", "%Y-%m-%d %H:%M %Z").utc  
=> Sun, 15 Apr 2012 16:00:00 +0000  
1.9.3-p125 :051 > dt = DateTime.strptime("2012-04-15 10:00 Central Time (US & Canada)", "%Y-%m-%d %H:%M %Z").utc.in_time_zone("Central Time (US & Canada)")  
=> Sun, 15 Apr 2012 11:00:00 CDT -05:00  
</code>

Como puede ver, tengo que convertir a utc y luego volver a la zona horaria para que el horario de verano se interprete correctamente, pero luego la hora se desplaza una hora, así que no es lo que analicé de la cadena. ¿Alguien tiene una solución alternativa a este error o una forma más robusta de analizar una fecha + hora + zona horaria de manera confiable en un objeto DateTime en el que el horario de verano esté representado adecuadamente? Gracias.

Edit: Ok, encontré una solución, aunque no estoy seguro de cuán robusto es.

Aquí hay un ejemplo:

<code>ActiveSupport::TimeZone["Central Time (US & Canada)"].parse "2012-04-15 10:00"  
</code>

Esto analiza la cadena de fecha / hora en la zona horaria correcta. No estoy seguro de qué tan robusto es el método de análisis para manejar esto, así que me gustaría ver si hay una mejor solución, pero este es mi método hasta ahora.

Respuestas a la pregunta(2)

Su respuesta a la pregunta