Ruby: преобразовать строку в дату - PullRequest
55 голосов
/ 27 апреля 2010

В Ruby, как лучше всего преобразовать строку формата: "{ 2009, 4, 15 }" в дату?

Ответы [ 4 ]

126 голосов
/ 27 апреля 2010

Вы также можете использовать Date.strptime:

Date.strptime("{ 2009, 4, 15 }", "{ %Y, %m, %d }")
6 голосов
/ 27 апреля 2010

Другой способ:

s = "{ 2009, 4, 15 }"
d = Date.parse( s.gsub(/, */, '-') )
2 голосов
/ 27 апреля 2010
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
0 голосов
/ 17 января 2012

Другой способ:

Date.new(*"{ 2009, 04, 15 }".scan(/\d+/).map(&:to_i))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...