ruby-on-rails - invalid - parse date rails




Conversión de Ruby String to Date (3)

Me enfrento con un problema en Ruby on Rails. Estoy buscando convertir una cadena de formato Tue, 10 Aug 2010 01:20:19 -0400 (EDT) a un objeto de fecha.

De todos modos, podría hacer esto.

Esto es lo que miré e intenté en lo siguiente sin suerte:

  1. Date.strptime(updated,"%a, %d %m %Y %H:%M:%S %Z")
  2. Analizador crónico
  3. Ruby: cadena de conversión hasta la fecha
  4. Fecha de análisis del texto usando Ruby

Por favor, me ayudas con ésto.


¿Qué pasa con el método Date.parse ?

str = "Tue, 10 Aug 2010 01:20:19 -0400 (EDT)"
date = Date.parse str
=> #<Date: 4910837/2,0,2299161>
puts date
2010-08-10

Parece funcionar.

El único problema aquí es la zona horaria. Si desea una fecha en la zona horaria UTC, entonces es mejor usar el objeto Time , supongamos que tenemos una cadena:

str = "Tue, 10 Aug 2010 01:20:19 +0400"
puts Date.parse str
2010-08-10
puts Date.parse(Time.parse(str).utc.to_s)
2010-08-09

No pude encontrar un método más simple para convertir el Time hasta la Date .


Puede intentar https://rubygems.org/gems/dates_from_string :

Encuentra la fecha en la estructura:

text = "get car from repair 2015-02-02 23:00:10"
dates_from_string = DatesFromString.new
dates_from_string.find_date(text)

=> ["2015-02-02 23:00:10"]

str = "Tue, 10 Aug 2010 01:20:19 -0400 (EDT)"
str.to_date
=> Tue, 10 Aug 2010




date