convertir String a DateTime

Necesito analizar el siguiente String en un object DateTime:
30/Nov/2009:16:29:30 +0100

¿Hay una forma fácil de hacer esto?

PD: quiero convertir la cadena de arriba como está. El colon después del año no es un error tipográfico. También quiero resolver el problema con Ruby y no con RoR.

Solutions Collecting From Web of "convertir String a DateTime"

DateTime.strptime le permite especificar el formatting y convertir una Cadena en DateTime.

¿No debería esto también funcionar?

 "30/Nov/2009 16:29:30 +0100".to_datetime 

He tenido éxito con:

 require 'time' t = Time.parse(some_string) 

Time.parse("02/07/1988") , como algunos de los otros carteles.

Un error interesante fue que Time se cargó por defecto cuando abrí IRB, pero Time.parse no estaba definido. Tuve que require 'time' para que funcione.

Eso es con Ruby 2.2.

Esto convertirá la cadena en date a date y hora:

 "05/05/2012".to_time 

en Ruby 1.8, el module ParseDate convertirá este y muchos otros formattings de date / hora. Sin embargo, no trata con gracia el colon entre el año y la hora. Suponiendo que el colon es un error tipográfico y en realidad es un espacio, entonces:

 #!/usr/bin/ruby1.8 require 'parsedate' s = "30/Nov/2009 16:29:30 +0100" p Time.mktime(*ParseDate.parsedate(s)) # => Mon Nov 30 16:29:30 -0700 2009 

Para los desarrolladores chinos Rails:

 DateTime.strptime('2012-12-09 00:01:36', '%Y-%m-%d %H:%M:%S') => Sun, 09 Dec 2012 00:01:36 +0000