В Ruby, какой лучший способ преобразовать строку формата: "{ 2009, 4, 15 }"
в Date?
Ruby: конвертировать строку на сегодняшний день
Ответ 1
Вы также можете использовать Date.strptime
:
Date.strptime("{ 2009, 4, 15 }", "{ %Y, %m, %d }")
Ответ 2
Другой способ:
s = "{ 2009, 4, 15 }"
d = Date.parse( s.gsub(/, */, '-') )
Ответ 3
def parse_date(date)
Date.parse date.gsub(/[{}\s]/, "").gsub(",", ".")
end
date = parse_date("{ 2009, 4, 15 }")
date.day
#=> 15
date.month
#=> 4
date.year
#=> 2009
Ответ 4
Другой способ:
Date.new(*"{ 2009, 04, 15 }".scan(/\d+/).map(&:to_i))